1
私のカメラから画像をキャプチャし、特定の座標でキャプチャした画像を切り抜く別の画像の中央に描画します。次のコードはクラッシュしませんが、画像が伸びているので、キャプチャされた画像が壊れています()。Androidでクロッピングした後にキャプチャされた画像が正しく伸びない
どこが間違っていますか?
メリーX'mas!
//Get the bottom image Bitmap
Bitmap bottomImage = BitmapFactory.decodeResource(getResources(), SelectDollarActivity.selectedImageId);
//Get the captured image Bitmap
Bitmap capturedImage = BitmapFactory.decodeFile(CaptureImage.cImagePath) ;
//************ CROP THE CAPTURED IMAGE *******************
int targetBitmapWidth = bottomImage.getWidth();
int targetBitmapHeight = bottomImage.getHeight() ;
//create a Bitmap with specified width & height
Bitmap clippedBitmap = Bitmap.createBitmap(targetBitmapWidth, targetBitmapHeight, Bitmap.Config.ARGB_8888);
//Construct a canvas with the specified bitmap to draw into.
Canvas canvas = new Canvas(clippedBitmap);
//************** cropping process goes HERE.........
//Create a new rectangle with the specified coordinates
RectF rectf = new RectF(left, top, right, bottom);
//Create an empty path
Path path = new Path();
//Add a closed oval contour to the path
path.addOval(rectf, Path.Direction.CW);
//Intersect the current clip with the specified path : CROPPING
canvas.clipPath(path);
canvas.drawBitmap(capturedImage, null, new Rect(0, 0, targetBitmapWidth, targetBitmapHeight), null);
//******** MERGING PROCESS *******************
//Construct a canvas with the specified bitmap to draw into.
Canvas combo = new Canvas(bottomImage);
// Then draw the second on top of that
combo.drawBitmap(clippedBitmap, 0f, 0f, null);
// bottomImage is now a composite of the two. so, display the bottom image
//************** DISPLAY THE MERGED IMAGE ****************
((ImageView)findViewById(R.id.billImage)).setImageBitmap(bottomImage);
画像が伸びています。それは私の問題です。 – Santhosh
キャプチャした画像を楕円形に切り取って別の/下部の画像の中央に配置しています。私は下の画像の適切な位置にクロップされた画像を配置することができます。しかし、私は伸ばした楕円形のイメージを取得しています。私は間違っている? – Santhosh
あなたは解決策の仲間を得ましたか?私もこの同じ問題に直面しています.pls私に返信 –