gpt4 book ai didi

android - 三星 Galaxy S3 中的位图问题

转载 作者:行者123 更新时间:2023-11-29 18:08:10 25 4
gpt4 key购买 nike

我写了一个方法来改变相机拍摄的位图:

public Bitmap bitmapChange(Bitmap bm) {
/* get original image size */
int w = bm.getWidth();
int h = bm.getHeight();

/* check the image's orientation */
float scale = w / h;

if(scale < 1) {

/* if the orientation is portrait then scaled and show on the screen*/
float scaleWidth = (float) 90 / (float) w;
float scaleHeight = (float) 130 / (float) h;
Matrix mtx = new Matrix();
mtx.postScale(scaleWidth, scaleHeight);
Bitmap rotatedBMP = Bitmap.createBitmap(bm, 0, 0, w, h, mtx, true);
return rotatedBMP;

} else {

/* if the orientation is landscape then rotate 90 */
float scaleWidth = (float) 130 / (float) w;
float scaleHeight = (float) 90 / (float) h;
Matrix mtx = new Matrix();
mtx.postScale(scaleWidth, scaleHeight);
mtx.postRotate(90);
Bitmap rotatedBMP = Bitmap.createBitmap(bm, 0, 0, w, h, mtx, true);
return rotatedBMP;
}
}

它在另一台 Android 设备上运行良好,甚至是 Galaxy Nexus,但在三星 Galaxy S3 上,缩放后的图像不会显示在屏幕上。

我试图标记 bitmapChange 方法,让它在屏幕上显示原始大小的位图,但 S3 也没有在屏幕上显示任何内容。

eclipse中变量信息为here .sony xperia的信息是here .

xperia 和其他设备工作正常。

编辑:

我在 LogCat 中得到了一些奇怪的日志,

当我拍照时,LogCat 会显示一些消息:

here

我从不使用视频...

为什么开始播放视频??

最佳答案

我查了一下,好像有两个可能的原因:

1) S3 存在内存问题。查看this SO Question S3 即使在缩放图像时也会出现问题!

解决方案- 解决方案是使位图转换更加内存友好,如图所示here并在 this SO question 中讨论


2) 三星手机设置 EXIF 方向标签,而不是旋转单个像素

解决方案- 看看this SO question

关于android - 三星 Galaxy S3 中的位图问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12256351/

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