public class MainActivity extends Activity {
private ImageView iv1,iv2;
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);
Bitmap bm1 = BitmapFactory.decodeFile("/mnt/sdcard/b.jpg");
iv1.setImageBitmap(bm1);
//没法复制,但是我们可以创建一个和上面图片一模一样的图片
Bitmap bm2 = Bitmap.createBitmap(bm1.getWidth(), bm1.getHeight(), bm1.getConfig());
//照着上面的画
//准备画板
//参数:你要画在哪纸上
Canvas canvas = new Canvas(bm2);
//准备画笔
Paint paint = new Paint();
//准备矩阵对象
Matrix matrix = new Matrix();
/*
//倒影,setscale第一个参数表示X轴方向,第二个参数表示Y轴方向
matrix.setScale(1.0f, -1.0f);//下镜像,即倒影
matrix.postTranslate(0, bm1.getHeight());//超出ImageView,要向上平移一个图片高度
//镜像
matrix.setScale(-1.0f, 1.0f);//左镜像
matrix.postTranslate(bm1.getWidth(), 0);//超出ImageView,要向右平移一个图片宽度
*/
//同时做倒影和镜像
matrix.setScale(-1.0f, -1.0f);
matrix.postTranslate(bm1.getWidth(), bm1.getHeight());
//画画
/*
* 参数1:照着画,参考的那副画
* 参数2:矩阵对象
* 参数3:画笔
*/
canvas.drawBitmap(bm1, matrix, paint);
iv2.setImageBitmap(bm2);
}
}
图片的镜像和倒影
最新推荐文章于 2020-08-26 15:35:48 发布