忽略了JPG图像pferredConfig选项

忽略了JPG图像pferredConfig选项

本文介绍了BitmapFactory.de codeResource()在$ P $忽略了JPG图像pferredConfig选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

我尝试加载JPEG图像资源为位图格式ARGB_8888的:

I try to load jpeg resource image to Bitmap of ARGB_8888 format:

BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap b = BitmapFactory.decodeResource(resources, resId, opts);
Log.d("test", b.getConfig().toString());

下面的渣油的是JPEG图像资源的ID。
而输出为 RGB_565
在Android 2.2及2.3模拟器尝试这个。

Here resId is the id of a jpeg image resource.And the output is "RGB_565".Tried this in emulators of android 2.2 and 2.3.

在preferredConfig的文件说:

Docs of 'inPreferredConfig' say:

如果这是为非空,去codeR会尽量去code到这个内部
  组态。如果为null,或者请求不能被满足,
  德codeR会尽量挑选基础上,最佳匹配的配置
  系统的屏幕深度和原始图像这样的特征
  因为如果有每个像素的阿尔法(需要配置也一样)。
  图像的加载默认ARGB_8888配置。

所以,我在击球的情况下,的要求不能得到满足的? :)
但老实说,我看不出它如何是很难去code RGB_565到ARGB_8888。

So am I hitting the case of "the request cannot be met"? :)But I honestly can't see how it is very difficult to decode RGB_565 into an ARGB_8888.

所以,我想,也许我做错了,或这是Android的一个bug ......

So I thought maybe I am doing wrong or this is a bug in Android...

推荐答案

在加载JPEG必须设置alpha通道为true:

When loading jpeg you must set alpha channel to true:

bitmap.setHasAlpha(true);

这篇关于BitmapFactory.de codeResource()在$ P $忽略了JPG图像pferredConfig选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 17:26