java - 代号来自 url 的一张图片

标签 java image url codenameone

我正在尝试使用 Java 和代号 one 插件制作一个移动应用程序。我的问题是 - 将图像从 URL 填充到标签的简单方法是什么?我在谷歌上搜索了一下,发现的只有这段代码:

Image i = URLImage.createToStorage(placeholder, "fileNameInStorage", "http://xxx/myurl.jpg", URLImage.RESIZE_SCALE); 

但我不知道如何使用它。什么是占位符?它询问 EncodedImage 参数,但如果我这样做:

EncodedImage image = new EncodedImage(10, 10);

我得到了 EncodedImage protected 错误。

我只是想将来自 URL 的图像填充到表单中我想要的标签。

我正在使用 GUI 生成器。

最佳答案

占位符图像是在下载来自 URL 的图像时应该显示的图像,它是一个 EncodedImage。

如果你的 Label 已经有一个图标作为占位符,你可以使用它的图标,否则你可以创建一个新的占位符图像。以下是创建 EncodedImage 和 URLImage 用法示例的 3 个选项:

方法一:

//generate a grey placeholder that matches the size of the label's icon
Image placeholder = Image.createImage(label.getIcon().getWidth(), label.getIcon().getWidth(), 0xbfc9d2);
EncodedImage encImage = EncodedImage.createFromImage(placeholder, false);

方法二:

//Convert the label icon to EncodedImage
EncodedImage encImage = (EncodedImage)label.getIcon();

方法三:

//Create a fresh grey EncodedImage when label doesn't have any icon set initially
int deviceWidth = Display.getInstance().getDisplayWidth();
Image placeholder = Image.createImage(deviceWidth / 10, deviceWidth / 10, 0xbfc9d2); //square image set to 10% of screen width
EncodedImage encImage = EncodedImage.createFromImage(placeholder, false);

使用示例:

最好使用 URL 作为存储中的缓存图像名称。如果您有多个尺寸的同一图片,只需在它们前面加上一个独特的字符串,例如 "Large"+ URL

 label.setIcon(URLImage.createToStorage(encImage, "Medium_" + "http://xxx/myurl.jpg", "http://xxx/myurl.jpg", URLImage.RESIZE_SCALE));

关于java - 代号来自 url 的一张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205094/

相关文章:

url - React 路由器未重定向到确切的 url

java - Jersey 客户端是否支持 NTLM 代理

java - Java中同时输出节点、左子节点和右子节点

java - 显示给定ArrayList反向的Java代码

java - 链接到图像网址有效,但无法显示该图像

URL 中的 Swift 引号

java - Beanshell jdbc 连接

ios - 管理图像方向的最佳方法?

php - 使用 PHP 创建多边形

Node.js url 路由格式化