我的应用程序在文件夹中有一些图像可绘制,大小都是640 * 640,用户可以将图像保存在他的设备上。为了保存,图像被转换为位图,然后保存。问题是保存后改变大小: 1)保存在文件夹drawable-hdpi后,大小更改为577 * 577 2)保存在文件夹drawable-ldpi后,大小更改为1154 * 1154 3)保存在文件夹drawable-mdpi后,大小更改为865 * 865 4)保存在文件夹drawable-xdpi后,大小更改为433 * 433 5)保存在文件夹drawable-xxhdpi后,大小更改为288 * 288 6)保存在文件夹drawable后,它改为865 * 865
如何保存具有真实尺寸的图像? 谢谢
答案 0 :(得分:1)
如Der Golem的评论中所述,您可以将图像放在assets文件夹中并进行二进制文件复制。
但是,如果您因任何原因需要以实际尺寸加载位图,则可以使用以下代码:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap yourBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.your_image, options);
根据设备dpi和放置它们的drawable文件夹将图像加载为位图时,可能会调整图像大小。将 inScaled 设置为false以禁用此功能。