2017-12-27 12 views
0

주위의 비트 맵을 회전하면 비트 맵 이미지의 크기가 변경되고 회전이 흔들리고 표시됩니다.안드로이드, 비트 맵을 회전하지 않고 자기 중심 주위로 회전

public static Bitmap RotateBitmap(Bitmap source, int width, float angle) { 
     Matrix matrix = new Matrix(); 
     int px = width/2; 
     matrix.postRotate(angle, px, px); 
     Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, width, width, matrix, true); 
     return bitmap; 
    } 

일부는 캔버스로 그릴 때마다 비트 맵의 ​​너비와 높이에 추가되고 흔들리는 방식으로 회전됩니다. 비트 맵을 흔들지 않고 부드럽게 회전하는 방법은 무엇입니까?

답변

0

너비가 절반이기 때문에 크기가 조정됩니다. 이것을 사용하십시오 :

public static Bitmap RotateBitmap(Bitmap source, float angle) { 
    Matrix matrix = new Matrix(); 
    matrix.postRotate(angle); 
    Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); 
    return bitmap; 
} 

흔들기에 대해서는 다른 스레드에서 호출해야합니다. (AsyncTask 등)

관련 문제