Android:使用Canvas屏蔽位图,路径不遵循尺寸和位置

时间:2015-07-10 05:50:38

标签: android canvas bitmap mask

我正在尝试创建一个Android应用,让我们选择图片并使用模板来裁剪它。模板也可以旋转:

中间有三角形的黑色半透明盒子是模板。想法是单击左上角的按钮,将保留背景图片和模板的交叉点。

第二张图片是所需的结果,第三张图片是我得到的结果。

位置不正确(不符合按钮下方的坐标)。尺寸也不正确。比例是正确的。

到目前为止,这是我的代码:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sample);
Bitmap result = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
Canvas canvas = new Canvas(result);    

Paint paint = new Paint();
paint.setAntiAlias(true);
Path path = new Path();
path.lineTo(template.topleftx, template.toplefty);
path.lineTo(template.toprightx,template.toprighty);
path.lineTo(template.bottomrightx,template.bottomrighty);
path.lineTo(template.bottomleftx,template.bottomlefty);
path.lineTo(template.topleftx,template.toplefty);    

canvas.drawPath(path, paint);    

paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, 0, 0, paint);    

imageView1.setImageBitmap(result);

我做错了什么?

我希望有人能帮助我。

0 个答案:

没有答案