安卓实现方形头像裁剪
实现思路,界面可见区域为2层View
最顶层的View是显示层,主要绘制半透明边框区域和白色裁剪区域,代码比较容易。
第二层继承ImageView,使用ImageView的Matrix实现显示部分图片,及挪动,放大缩小等操作。
比较复杂的地方在于多指操作对ImageView的影响,详见代码:
ClipSquareImageView.java
package c...
分类:
移动开发 时间:
2014-12-15 15:27:46
阅读次数:
211
什么是仿射变换?¶
一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移).
综上所述, 我们能够用仿射变换来表示:
旋转 (线性变换)平移 (向量加)缩放操作 (线性变换)
你现在可以知道, 事实上, 仿射变换代表的是两幅图之间的 关系 .
#include "opencv2/highgui/hig...
分类:
其他好文 时间:
2014-12-15 15:26:45
阅读次数:
139
效果图:
目录结构:
代码分析:
MainActivity.java
package com.example.myfragment;
/**
* @author Arthur Lee
* @time 04/08/2014
* */
import java.util.ArrayList;
import android.os.Bundle;
import android....
分类:
其他好文 时间:
2014-12-15 15:27:03
阅读次数:
123
memcached—向memcached中保存Java实体需注意的问题...
分类:
编程语言 时间:
2014-12-15 15:26:31
阅读次数:
174
对于刚从Oracle转向MySql的人都会为,MySql中没有Oracle里的Sequence而感到困惑。MySql中没有了Sequence,那么MySql的主键用什么方式来实现最好呢?
主要有以下几种方式:
1、自增字段作为主键。【推荐方案】
MySql虽然比Oracle少了Sequence,但是多了字段的自增长特性。
插入完了以后可以通过执行【SELECT @@ID...
分类:
数据库 时间:
2014-12-15 15:27:59
阅读次数:
250
9.5.1 处理记录和成员
我们先从一个基本的例子开始。在本章的第一节,我们已经知道如何为表示矩形的 Rect 类型添加成员。现在,我们要在 C# 中使用这个类型。首先,我们需要创建一个新的 F# 库项目,添加源文件(例如,export.fs),代码在清单 9.20。
清单 9.20 把 F# 类型编译成库(F#)
namespace Chapter09.FSharpExp...
分类:
其他好文 时间:
2014-12-15 15:26:03
阅读次数:
155
矩阵处理
1、矩阵的内存分配与释放
(1) 总体上:
OpenCV
使用C语言来进行矩阵操作。不过实际上有很多C++语言的替代方案可以更高效地完成。
在OpenCV中向量被当做是有一个维数为1的N维矩阵.
矩阵按行-行方式存储,每行以4字节(32位)对齐.
(2) 为新矩阵分配内存:
CvMat* cvCreateMat(int rows, int cols, int ...
分类:
其他好文 时间:
2014-12-15 15:28:21
阅读次数:
148
********************************环境配置************************
1.拷贝Demo包下的libs包下的
baidumapapi_v2_1_1.jar
easemobchat_2.1.3.jar
locSDK_3.3.jar
armeabi文件夹
2.配置权限
...
分类:
移动开发 时间:
2014-12-15 15:25:48
阅读次数:
266
Saiku成立于2008年,由Tom Barber和Paul Stoellberger研发。最初叫做Pentaho分析工具,起初是基于OLAP4J库用GWT包装的一个前端分析工具。经过多年的演化、重写之后,于2010年,改名为Saiku。...
分类:
其他好文 时间:
2014-12-15 15:27:45
阅读次数:
164
###################
#Python脚本性能剖析
###################
cProfile/profile/hotshot用于统计Python脚本各部分执行频率和耗费时间等统计信息
pstats可用于格式化这些信息
cProfile,属C扩展,开销较小,适合剖析长时间运行的Python程序,推荐使用此模块
profile,纯Python模块,存...
分类:
编程语言 时间:
2014-12-15 15:25:20
阅读次数:
215
SharedPreferences SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。 其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身...
分类:
移动开发 时间:
2014-12-15 15:27:31
阅读次数:
168
在继承View控件重写控件功能时,时常会对控件内容进行滚动,那么就需要调用View内容移动的两个方法之一:View.scrollBy(int x, int y) --> 内容平滑地滚动到目标坐标(可看的移动效果)View.scrollTo(int x, int y) --> 内容马上滚动到目标坐标(...
分类:
移动开发 时间:
2014-12-15 15:24:41
阅读次数:
175
函数同样有两个非常好用的属性:length 和prototypefunction fn1(){}function fn2(num1,num2){}function fn3(num1){}//函数的length就表示该函数所期望的参数值alert(fn1.length) // 0alert(fn2.l...
分类:
移动开发 时间:
2014-12-15 15:24:03
阅读次数:
129
今天开始学习siebel先从概念理论开始Siebel CRM 系统的应用环境Siebel CRM系统的应用环境由以下三部分组成:n 核心数据库(RDBMS) 和Siebel 文件系统--存储企业各类数据和文档。n 客户(Siebel Client)--访问企业数据n 服务器--管理企业数据,并为Si...
分类:
其他好文 时间:
2014-12-15 15:25:42
阅读次数:
288
Demo介绍学习了如何基本的使用Backbone,展示用户信息使用JQuery操作DOM,backbone.localStorage.js操作localstorage大体实现?创建user Model 1 var User = Backbone.Model.extend({ 2 de...
分类:
其他好文 时间:
2014-12-15 15:25:41
阅读次数:
145
Node.js是单线程的,基于事件循环,非阻塞 IO的。事件循环中使用一个事件队列,在每个时间点上,系统只会处理一个事件,即使电脑有多个CPU核心,也无法同时并行的处理多个事件。因此,node.js适合处理I/O型的应用,不适合那种CPU运算密集型的应用。在I/O型的应用中,给每一个输入输出定义一个...
分类:
Web程序 时间:
2014-12-15 15:25:48
阅读次数:
237
总之,要让所有的东西,都被DbContext管理状态 1、查出来,改了,再提交 2、new 出来,attach,再改,再提交 以上两种都较好理解 3、new出来,改了,再attach,在改状态,再提交 改状态这里,不是和普通属性一样Property(x=>x.?).IsModify=true,导航属...
分类:
其他好文 时间:
2014-12-15 15:23:37
阅读次数:
329