如何使用 BitmapFactory.decode*() 指定位图格式(例如 RGBA_8888)?

发布于 2024-11-17 04:44:18 字数 414 浏览 3 评论 0原文

我多次调用 BitmapFactory.decodeFile()BitmapFactory.decodeResource(),并且我想指定位图解码为的格式,例如RGB_565 或 RGBA_8888。

目前,解码的位图格式似乎取决于传入的图像。或者,有没有办法将现有位图转换为特定格式?

这很重要的原因是,当我尝试使用jnigraphics解码图像时,某些图像返回ANDROID_BITMAP_FORMAT_NONE类型的AndroidBitmapFormat,我假设是没用的。有谁更深入地了解为什么格式不是已知值?发生这种情况时,内置图像选择器会正确显示以这种方式解码的图像,因此我认为必须有一种方法来处理它们。

感谢您的投入!

I'm making several calls to BitmapFactory.decodeFile() and BitmapFactory.decodeResource(), and I'd like to specify the format the bitmaps are decoded to, such as RGB_565 or RGBA_8888.

Currently, the decoded bitmap format seems to depend on the incoming image. Alternatively, is there a way to convert an existing bitmap to a specific format?

The reason this is important is that when I try to decode the image using jnigraphics, some images return an AndroidBitmapFormat of type ANDROID_BITMAP_FORMAT_NONE, which I assume is useless. Does anyone have more insight into why the format would be none of the known values? When this happens, the built-in image picker correctly displays images that are decoded this way, so I assume there has to be a way to deal with them.

Thanks for your input!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我的鱼塘能养鲲 2024-11-24 04:44:18

这可能就是您正在寻找的:

BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);

This might be what you are looking for:

BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
拥抱我好吗 2024-11-24 04:44:18

当你有位图时,你可以调用它的复制方法,指定 BitmapConfig 这基本上就是你想要的。
http://developer.android .com/reference/android/graphics/Bitmap.html#copy(android.graphics.Bitmap.Config,布尔值)

When you have bitmap you can call copy method on it specifying BitmapConfig which is basically what you want.
http://developer.android.com/reference/android/graphics/Bitmap.html#copy(android.graphics.Bitmap.Config,boolean)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文