当我围绕它旋转位图时,位图图像的大小发生了变化,旋转显示出来。
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 :(得分: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
等)