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