4
我想按多边形区域裁剪图像,但无法找到任何可以生成图像的库。 OpenCV对于这个小东西来说太大了。 JJIL [enter link description here]裁剪矩形区域。 也许你有什么想法我可以实现它?感谢帮助!按多边形区域裁剪图像
FOR尼迪: 尝试这样的事情,如果不列入工作 - 创建另一个画布路径,不是从它那里得到位图(蒙版),这掩码位应用到您最初的帆布而不是drawPath。
Bitmap obmp = BitmapFactory.decodeResource(getResources(), R.drawable.image1);
Bitmap resultImg = Bitmap.createBitmap(obmp.getWidth(), obmp.getHeight(), Bitmap.Config.ARGB_8888);
Bitmap maskImg = Bitmap.createBitmap(obmp.getWidth(), obmp.getHeight(), Bitmap.Config.ARGB_8888);
Canvas mCanvas = new Canvas(resultImg);
Canvas maskCanvas = new Canvas(maskImg);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);;
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
Path path = new Path();
path.moveTo(view.mx,view.my);
path.lineTo(view.x1,view.y1);
path.lineTo(view.x2,view.y2);
path.lineTo(view.x3,view.y3);
path.lineTo(view.x4,view.y4);
path.close();
maskCanvas.drawPath(path, paint);
mCanvas.drawBitmap(obmp, 0, 0, null);
mCanvas.drawBitmap(maskImg, 0, 0, paint);
你有什么问题?它非常简单:首先 - 在感兴趣的区域内进行掩模填充,其次 - 用某个背景值替换掩码== 0的所有图像像素。 –
谢谢你的建议! – ADK
你好ADK,其实我是android.app新手,而且我也找到如何使用多边形裁剪图像的解决方案。你能给我一些关于你是如何实现这一点的暗示。一些提示也会帮助我很多。 – Dory