android - 掩蔽(裁剪)帧中的图像

标签 android image bitmap masking porter-duff

有一个丰富的 UI 应用程序,我想在其中显示像这样复杂形状的图像

enter image description here

现在我想要的是根据蒙版图像裁剪我的图像,实际上 图像是动态的,可以从相机或图库(正方形或矩形形状)导入,我希望该图像适合在我上面的布局框架中

所以只是想知道我是如何实现这一目标的?任何想法/提示欢迎

背景框架
enter image description here
面具
enter image description here

喜欢 this

最佳答案

在更改 mask 图像并使用 XfermodeBitmap

时终于得到了解决方案

面具

enter image description here

 ImageView mImageView= (ImageView)findViewById(R.id.imageview_id);
 Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.content_image);
 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);

查看输出

enter image description here

来源可以找到 here

关于android - 掩蔽(裁剪)帧中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614542/

相关文章:

java - eddystone 信标在一段时间后自动断开连接并且不发送主要和次要

android - 如何在Android原生代码中获取mac地址

android - 时代广场和今天的约会

php - 如果另一个服务器/网站从我的服务器加载图像,如何判断?

python - 将图像分割为像素(列)

java - 当屏幕太大时出现错误

c - 要传递给 CreateDIBSection 函数的参数

c# - Mvvm交叉 : Android app crashes without information

php - 如何将 imagick annotateImage 用于中文文本?

android - 如何高效显示连续位图?