다른 이미지 (프레임) 내에 이미지 (가족 사진) 즉, 이미지를 그려 넣고 싶습니다.정면 이미지를 그대로 유지하면서 배경 이미지 이동 캔버스
저는 이것을 처리하기 위해 ImageView를 사용하고 있습니다. 내 배경 이미지를 드래그 할 수는 있지만 뷰는 정면 이미지를 다시 그리지 않았습니다.
두 개의 이미지를로드하기위한 코드입니다. mFrontImage는 '프레임'이고 mBackImage는 우리가 드래그 할 '배경'입니다. 이 코드 줄에는 아무런 문제가 없습니다.
// Create a new bitmap scaled from original bitmap
mFrontImage = Bitmap.createBitmap(bmpTemp, 0, 0, fw, fh, fmatrix, true);
mCanvas = new Canvas(mFrontImage);
mPaint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.DST_OVER));
mCanvas.drawBitmap(mFrontImage, 0, 0, mPaint);
mCanvas.drawBitmap(mBackImage, 0, 0, mPaint);
mImageV = (ImageView) this.findViewById(R.id.image_view);
mImageV.setImageBitmap(mFrontImage);
mImageV.setOnTouchListener(this);
그리고이 터치 움직임을 처리하는 코드입니다 :를
case MotionEvent.ACTION_DOWN:
downx = event.getX();
downy = event.getY();
_moving = true;
break;
case MotionEvent.ACTION_MOVE:
if (_moving)
{
dx = event.getX() - downx;
dy = event.getY() - downy;
downx = event.getX();
downy = event.getY();
x += dx;
y += dy;
mCanvas.drawColor(Color.TRANSPARENT, Mode.CLEAR);
mCanvas.drawBitmap(mFrontImage, 0, 0, mPaint);
mCanvas.drawBitmap(mBackImage, x, y, mPaint);
mImageEdit.invalidate();
}
break;
case MotionEvent.ACTION_UP:
_moving = false;
break;
라인 drawColor 캔버스 다음 drawBitmap (mBackImage ~)을 삭제됩니다하지만 drawBitmap (mFrontImage ~) .
내가 원하는 것은 mFrontImage를 0, 0으로, mBackImage를 새로운 위치 x, y로 그리는 것입니다.