8

ポリゴン領域ごとに画像をトリミングしたいのですが、作成できるライブラリが見つかりませんでした。OpenCV は、この小さなことには大きすぎます。JJIL [ここにリンクの説明を入力してください] 長方形の領域だけをトリミングします。多分あなたは私がそれを達成する方法を知っていますか? 手伝ってくれてありがとう!

ここに画像の説明を入力 ここに画像の説明を入力

ニディの場合:うまくいかない場合は、次のようなことを試してください。パス用に別のキャンバスを作成し、そこから(マスク用に)ビットマップを取得し、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);
4

2 に答える 2