Android,围绕自我中心旋转位图而不缩放它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android,围绕自我中心旋转位图而不缩放它相关的知识,希望对你有一定的参考价值。

当我围绕它旋转位图时,位图图像的大小发生了变化,旋转显示出来。

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;
    }

每次调用在画布上绘制它时,一些添加到位图的宽度和高度并随着摇动旋转。如何平滑旋转而不抖动位图?

答案

它正在调整大小,因为你传递了它的一半宽度。用这个:

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等)

以上是关于Android,围绕自我中心旋转位图而不缩放它的主要内容,如果未能解决你的问题,请参考以下文章

Android围绕动态枢轴旋转视图

围绕一个点而不是中心旋转位图到位图

从中心而不是从左、中旋转

围绕其中心点旋转自定义几何网格

SVG css旋转坚持而不是围绕中心旋转

颤动 - 如何使用画布围绕中心旋转图像