将图像/可绘制对象裁剪为三角形
Posted
技术标签:
【中文标题】将图像/可绘制对象裁剪为三角形【英文标题】:Crop an Image/drawable to a triangle 【发布时间】:2014-04-06 10:23:25 【问题描述】:我正在尝试在我的 android 应用程序中将图像裁剪为三角形,这样我只能得到图像的三角形部分。如何才能做到这一点?我已经成功地完成了方形和圆形的裁剪,但我无法对三角形做同样的事情。有人可以帮我解决这个问题。
谢谢。
大卫
【问题讨论】:
【参考方案1】:您可以使用“蒙版”图像。在您的情况下,此图像应该是三角形(或您需要的任何其他形状),如下所示:
ImageView mImageView= (ImageView)findViewById(R.id.imageview_id);
Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.contentimage);
Bitmap mask = BitmapFactory.decodeResource(getResources(),R.drawable.mask);
Bitmap result = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Config.ARGB_8888);
Canvas mCanvas = new Canvas(result);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mCanvas.drawBitmap(original, 0, 0, null);
mCanvas.drawBitmap(mask, 0, 0, paint);
paint.setXfermode(null);
mImageView.setImageBitmap(result);
mImageView.setScaleType(ScaleType.CENTER);
mImageView.setBackgroundResource(R.drawable.background_frame);
【讨论】:
以上是关于将图像/可绘制对象裁剪为三角形的主要内容,如果未能解决你的问题,请参考以下文章