【问题标题】:Using UrlImage causes bad quality scaled image使用 UrlImage 会导致质量不佳的缩放图像
【发布时间】:2017-08-28 22:37:47
【问题描述】:

我正在尝试使用代号 one 创建一个应用程序,该应用程序使用 RESTful Web 服务来下载要显示的详细信息,包括图像 URL。

我想我需要的是ScaleImageButton,它的目的是有一个可以点击的项目列表来显示更多信息(这么几个ScaleImageButtons)。

我目前用来创建按钮的代码如下:

java.util.List<String> splitImage = tokenize(url, '/');
EncodedImage placeholder = FontImage.createMaterial(FontImage.MATERIAL_SAVE, btnStyle.getUnselectedStyle()).toEncodedImage();
URLImage image = URLImage.createToStorage(placeholder, splitImage.get(splitImage.size() - 1), url, URLImage.RESIZE_SCALE_TO_FILL);
ScaleImageButton btn = new ScaleImageButton(image);
btn.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);

即使图像显示在较大的浏览器窗口中,此按钮的背景图像质量也很差(每像素几毫米)。

如何让图像填充背景并保持其质量?

提前致谢。

【问题讨论】:

    标签: java codenameone


    【解决方案1】:

    您正在做的是下载与placeholder 大小相同的图像,然后通过将其应用于ScaleImageButton 来放大它,而不是下载正确大小的图像。

    在使用它下载实际图像之前,请确保您的占位符图像大小合适。

    例如:

    //half the size of device width image
    EncodedImage placeholder = FontImage.createMaterial(FontImage.MATERIAL_SAVE, btnStyle.getUnselectedStyle(), CN.getDisplayWidth() / 2).toEncodedImage();
    

    【讨论】:

    • 感谢您的回复。当我完成后,图像质量仍然很差,但它现在使按钮与图像大小相同,而背景图像只是图像的一部分(裁剪以适合按钮)。
    • 您使用的是 Windows、Mac 还是 Linux 计算机?
    • 我使用的是 Mac,但我也构建了该应用程序并在我的 iPhone 上进行了尝试,结果相同。
    • 因为图片一旦下载就会被缓存。在您的 iPhone 上,您必须在重新安装之前删除以前的应用程序以删除其缓存的图像。在 Mac 上,您可以通过转到硬盘来执行相同的操作。
    • 我是 Mac 新手,它们在硬盘上的什么位置?
    猜你喜欢
    • 2012-04-14
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多