gpt4 book ai didi

Android 将位图旋转 90 度会导致图像被压扁。需要在纵向和横向之间进行真正的旋转

转载 作者:IT王子 更新时间:2023-10-28 23:34:11 25 4
gpt4 key购买 nike

我正在尝试将位图图像旋转 90 度以将其从横向格式更改为纵向格式。示例:

[a, b, c, d]
[e, f, g, h]
[i, j, k, l]

顺时针旋转90度变成

[i,e,a]
[j,f,b]
[k,g,c]
[l,h,d]

使用下面的代码(来自在线示例),图像旋转了 90 度,但保留了横向纵横比,因此您最终会得到一个垂直压扁的图像。难道我做错了什么?我需要使用另一种方法吗?如果这样更容易,我也愿意旋转用于创建位图的 jpeg 文件。

 // create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// rotate the Bitmap
matrix.postRotate(90);

// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOriginal, 0, 0, widthOriginal, heightOriginal, matrix, true);

最佳答案

这就是旋转图像所需的全部内容:

Matrix matrix = new Matrix();
matrix.postRotate(90);
rotated = Bitmap.createBitmap(original, 0, 0,
original.getWidth(), original.getHeight(),
matrix, true);

在您的代码示例中,您包含了对 postScale 的调用。这可能是您的图像被拉伸(stretch)的原因吗?也许把那个拿出来做更多的测试。

关于Android 将位图旋转 90 度会导致图像被压扁。需要在纵向和横向之间进行真正的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com