Android Java:在保持质量的同时缩小位图?
Posted
技术标签:
【中文标题】Android Java:在保持质量的同时缩小位图?【英文标题】:Android Java: Scaling down bitmap while keeping quality? 【发布时间】:2013-06-30 23:06:59 【问题描述】:我有一个非常高质量的 PNG,我想在不损失质量的情况下缩小它。
将我的图像导入 drawable-mdpi 后,这是我所做的:
titlelogo = BitmapFactory.decodeResource(getResources(), R.drawable.titlelogo);
titlelogoR = Bitmap.createScaledBitmap(titlelogo,(int)width, (int)(titlelogo.getHeight()*(width/titlelogo.getWidth())), true);
canvas.drawBitmap((Bitmap)titlelogoR,0,0,null);
这是我的原始图像: http://imgur.com/DPbXO5a,kVEWuz3#1
这是我设备上的样子: http://imgur.com/DPbXO5a,kVEWuz3#0
提前致谢!
编辑:问:为什么我想事后而不是事前缩放图像? A:所以图像在所有安卓设备上可以是相同大小的;有没有更好的方法来实现这一点?
解决了!
我从头开始我的项目并将我的图像放在 xxhdpi 文件夹中
【问题讨论】:
如果您的应用中从不需要如此高质量的图像,您不妨事先对其进行缩放。如果要为多种屏幕分辨率做好准备;使用最高分辨率作为基本图像并从那里缩小,或使用适当的 ldpi/mdpi/hdpi 文件夹。 【参考方案1】:理想的方法是预先缩放图像并将其放入 mdpi 文件夹。如果您真的需要在您的应用中对其进行缩放,请将其放入 raw 文件夹中。
【讨论】:
我能问一下您为什么建议将它放在 raw 文件夹中吗?谢谢 @JadeByfield:好吧,如果您不打算让框架缩放图像,我认为 raw 文件夹可能是合适的。自从我在android上手动操作图像以来实际上已经有一段时间了,所以这可能不是最好的方法。但是与自动缩放器作斗争可能真的很烦人。以上是关于Android Java:在保持质量的同时缩小位图?的主要内容,如果未能解决你的问题,请参考以下文章