我为我的应用程序使用透明的 png 图像,但是当应用程序运行时,图像会失去其质量并且不完全相同,它的扭曲也很模糊。有什么我可以做的,比如位图选项?
mBitmap = BitmapFactory.decodeResource(res,R.drawable.img1);
我为我的应用程序使用透明的 png 图像,但是当应用程序运行时,图像会失去其质量并且不完全相同,它的扭曲也很模糊。有什么我可以做的,比如位图选项?
mBitmap = BitmapFactory.decodeResource(res,R.drawable.img1);
我也有这个问题。我确实使用 png 以外的其他格式解决了它(在我的情况下 jpg 就足够了)。如果您仍然想使用 Alpha 通道,那么您唯一剩下的选择就是 gif,即使这通常不是最佳选择。
可能是屏幕像素密度与您的位图不匹配?除非您另外指定,否则您的位图假定为 160dpi,因此在您加载它时,它将根据需要重新缩放,具体取决于设备。
您可以拥有不同版本的位图,专为不同的像素密度而设计。就像应用程序图标一样,它们进入相应的 res/drawable-*dpi/ 子目录。
尝试处理来自 android 相机的图片时,我遇到了同样的问题。我用这段代码解决了:
Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inDensity = 96;
Bitmap originalPicture = BitmapFactory.decodeFile(pictureFile.getPath(), options );
这个问题似乎与图像的 RGB 格式和抖动选项有关。