首页 > 技术文章 > 安卓图形变换

berylqliu 2015-01-29 23:05 原文

在谷歌上搜索faceMorph filetype:ppt可以搜索出和人脸变换相关的一些PPT资料。

code.google.com是谷歌的代码网站

github.com

play.google.com   

图形变换的一些代码:

public class MainActivity extends Activity {
private ImageView iv1,iv2;
private Bitmap alterBitmap;
private Bitmap srcBmp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv1 = (ImageView) findViewById(R.id.iv1);
iv2 = (ImageView) findViewById(R.id.iv2);
//给第一个imageview默认设置一个位图
srcBmp = BitmapFactory.decodeResource(getResources(), R.drawable.tomcat);
iv1.setImageBitmap(srcBmp);
//创建原图的一个副本。 可修改  创建的是一个空白的图形。
alterBitmap = Bitmap.createBitmap(srcBmp.getWidth(), srcBmp.getHeight(),srcBmp.getConfig());
}
/**
* 创建原图 bm的一个拷贝。副本
* @param view
*/
public void click(View view){
//1.准备一个画板  在上面放上准备好的 空白的位图
Canvas canvas = new Canvas(alterBitmap);
//2.准备一个画笔
Paint paint = new Paint();
paint.setColor(Color.BLACK);
//3.画画
Matrix m = new Matrix();  //变换矩阵,默认情况下不改变形状
m.setRotate(180, srcBmp.getWidth()/2, srcBmp.getHeight()/2);     顺时针旋转180度,后面两个参数是旋转中心的横坐标和纵坐标

canvas.drawBitmap(srcBmp, m, paint);
iv2.setImageBitmap(alterBitmap);//把原图的副本设置到界面上。
}
}


event.getX()   距图片原点的x坐标

event.getRawX()  距屏幕顶点的x坐标

 

推荐阅读