0

我采用并修改了一些用于获得较大 (500x500) 位图图像的高质量抗锯齿小版本的代码。显然使用矩阵比使用 createScaledBitmap() 产生更高的质量。结果不是很令人印象深刻..我怀疑也许我犯了一个错误,特别是我不确定选项的东西是否真的被使用了。因此,我将其更改inSampleSize = 1;inSampleSize = 50;期望看到质量急剧下降,但没有任何变化。所以现在我怀疑选项被忽略了。这段代码可以挽救吗?

bitmap我希望也许能找到一些带有 a和参数的 createBitmap 版本options,但找不到。

BitmapFactory.Options options = new BitmapFactory.Options();

options.inPreferQualityOverSpeed = true;
options.inJustDecodeBounds = false;
options.inDither = false;
options.inSampleSize = 1;
options.inScaled = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;

Bitmap bmpSource = BitmapFactory.decodeResource(getResources(), R.drawable.bigicon);

Matrix matrix = new Matrix();
matrix.postScale(.1f,.1f);
Bitmap scaledBitmap = Bitmap.createBitmap(bmpSource, 0, 0, bmpSource.getWidth(), bmpSource.getHeight(), matrix, true);
4

2 回答 2

5

好吧,您实际上应该将其作为参数提供。改变

Bitmap bmpSource = BitmapFactory.decodeResource(getResources(), R.drawable.bigicon);

Bitmap bmpSource = BitmapFactory.decodeResource(getResources(), R.drawable.bigicon, options);

这里的文档

于 2013-10-18T15:59:15.803 回答
0

看看这个在 Android 中使用 createScaledBitmap 创建缩放位图

这也是:http: //developer.android.com/training/displaying-bitmaps/load-bitmap.html

于 2013-10-18T15:58:57.130 回答