我从源代码编译了一个壁纸应用程序,插入了一些1230x720的图片,但是当我使用该应用程序应用墙壁时,它们总是会被自动裁剪。我应该在代码中更改哪些内容以原始大小和分辨率应用?
这是一个例子: 1.原始图片: http://i.imgur.com/VrCHcXL.png
2.使用我的应用程序作为壁纸应用后: http://i.imgur.com/Mect1uo.png
源代码:blog.blundell-apps.com/set-phone-wallpaper /
谢谢
编辑:HeavyLifter.java中的这段代码似乎是罪魁祸首,如何将其更改为“适合屏幕分辨率”?private Bitmap getImage(int resourceId) {
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId, null);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, manager.getDesiredMinimumWidth(), manager.getDesiredMinimumHeight(), true);
bitmap.recycle();
bitmap = null;
return scaledBitmap;
}
答案 0 :(得分:0)
图像(720x1230)和manager.getDesiredMinimumWidth()与manager.getDesiredMinimumHeight()(720x1280)的宽高比不同,因此图像会失真。
因此,eighter在应用缩放操作之前提供具有适合宽高比的图像或裁剪图像