//加载原图,这个对象是只读的
Bitmap bmSrc = BitmapFactory.decodeFile("sdcard/girl2.jpg");
//开始创建原图的拷贝
//1.创建一个没有任何内容的bitmap对象,宽高与原图一致,可以比喻为一张跟原图一样大小的白纸,
//下一步便在纸上作画,把原图画出来
Bitmap bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig());
//2.创建画笔
Paint paint = new Paint();
//3.创建一个画板,把白纸铺在画板上
Canvas canvas = new Canvas(bmCopy);
Matrix mt = new Matrix();
//旋转效果
//mt.setRotate(45, bmCopy.getWidth() / 2, bmCopy.getHeight() / 2);//旋转45度,后面2个参数为旋转点
//平移效果
//mt.setTranslate(10,10);//向右移动10个像素,向下移动10个像素
//缩放效果
//mt.setScale(0.5f,2);缩放原始宽*0.5,原始高*2
//镜面效果(如果要设置2个效果的话,第二个效果要用post)
//mt.setScale(-1,1);
//mt.postTranslate(bmCopy.getWidth(),0);
//倒影效果
//mt.setScale(1,-1);
//mt.postTranslate(0,bmCopy.getHeight());
//4.开始作画
//bitmap:这是要写生的风景
canvas.drawBitmap(bmSrc, mt, paint);
ImageView iv1 = (ImageView) findViewById(R.id.iv1);
ImageView iv2 = (ImageView) findViewById(R.id.iv2);
iv1.setImageBitmap(bmSrc);
iv2.setImageBitmap(bmCopy);
图片特效
最新推荐文章于 2023-12-01 12:58:10 发布