2012-02-17 5 views
4

매트릭스를 사용하여 이미지를 회전 시키지만 작동하지만 새로운 이미지 비트 맵에 문제가 있습니다. 피벗을 설정했지만 새 비트 맵에 약간의 공백이 있습니다. 이미지를 회전 시키려면 어떻게해야하지만 공간이 필요하지는 않습니다. 아래 코드를 사용하여 비트 맵을 회전합니다.매트릭스를 사용하여 중심점에서 안드로이드의 비트 맵을 회전하는 방법

비트 맵 bitmapOrg = BitmapFactory.decodeResource (getResources(), R.drawable.sticker01); int width = bitmapOrg.getWidth(); int height = bitmapOrg.getHeight();

매트릭스 매트릭스 = new 매트릭스(); matrix.postRotate (rotate, width/2, height/2);

비트 맵 resizedBitmap = Bitmap.createBitmap (bitmapOrg, 0, 0, width, height, matrix, true); BitmapDrawable bmd = 새 BitmapDrawable (resizedBitmap);

imageView.setBackgroundColor (Color.WHITE); imageView.setImageDrawable (bmd); imageView.setScaleType (ScaleType.FIT_XY); enter image description here

회전 10도 : enter image description here 이는 실제 이미지의 주변에 공간이 ..

회전 50도 -

이미지 뷰는>는

0도 회전을 & 높이 = WRAP_CONTENT 폭 : enter image description here 실제 이미지 (더 큰 공간) 주위에 공간이 있습니다.

+0

안녕하세요 당신은 당신의 ans 안 –

답변

0

변경 이미지 뷰의 scaleType :

imageView.setScaleType(ScaleType.CENTER); 
0

사용 매트릭스 후 중간 값으로 회전

matrix.postScale (규모, 규모, mid.x, mid.y);

관련 문제