【问题标题】:Wallpapers are auto cropped after applying应用后壁纸会自动裁剪
【发布时间】:2015-01-06 17:30:42
【问题描述】:

我从源代码编译了一个壁纸应用程序,插入了一些 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;
}

【问题讨论】:

    标签: java android xml wallpaper


    【解决方案1】:

    图片 (720x1230) 和 manager.getDesiredMinimumWidth() 到 manager.getDesiredMinimumHeight() (720x1280) 的纵横比不一样,所以图片会失真。

    所以在应用缩放操作之前,要提供具有合适纵横比的图像或裁剪图像

    【讨论】:

    • 你能告诉我如何保持纵横比吗?我是菜鸟:-(
    • 我可以从这里的第二个答案stackoverflow.com/questions/15440647/… 正确适应我的手机屏幕但不确定它是否适用于具有不同分辨率的其他手机
    • 是的,这就是你必须做的。您可能希望将 4096 替换为设备屏幕尺寸的最大宽度和高度。见here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    相关资源
    最近更新 更多