我从 SQLiteDatabase 获取图像(.png)并使用此代码将字节数组解码为位图:
Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inDither = true;
options.inScaled = true;
options.inDensity = 240;
options.inTargetDensity = metrics.densityDpi;
Bitmap bmp = BitmapFactory.decodeStream(new ByteArrayInputStream(imageAsBytes), null, options);
如您所见,图像 (3) 应该像 (2),但事实并非如此。
1)  = 没有比例的图像 (metrics.densityDpi = 240);
= 没有比例的图像 (metrics.densityDpi = 240);
2)  = 上面相同的 .png,但在 res/drawable 中编译;
= 上面相同的 .png,但在 res/drawable 中编译;
3)  = 缩小比例的图像(metrics.densityDpi = 120);
= 缩小比例的图像(metrics.densityDpi = 120);
我也试过了options.inDither = false;,但我看不出有什么区别。
那么我的代码有什么问题?