首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从url编码一幅图像

从url编码一幅图像
EN

Stack Overflow用户
提问于 2015-12-10 14:58:12
回答 1查看 1.4K关注 0票数 3

我正试图用Java制作一个移动应用程序,并将其命名为一个插件。我的问题是--从URL到标签填充图像的简单方法是什么?我在谷歌上搜索到了这段代码:

代码语言:javascript
运行
复制
Image i = URLImage.createToStorage(placeholder, "fileNameInStorage", "http://xxx/myurl.jpg", URLImage.RESIZE_SCALE); 

但我不知道怎么用。什么是placeholder?它询问一个EncodedImage参数,但如果我这样做的话:

代码语言:javascript
运行
复制
EncodedImage image = new EncodedImage(10, 10);

我得到了EncodedImage受保护的错误。

我只想在表单中填充一个从URL到我想要的标签的图像。

我正在使用GUI构建器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-10 17:22:52

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

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

方法1:

代码语言:javascript
运行
复制
//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);

方法2:

代码语言:javascript
运行
复制
//Convert the label icon to EncodedImage
EncodedImage encImage = (EncodedImage)label.getIcon();

方法3:

代码语言:javascript
运行
复制
//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

代码语言:javascript
运行
复制
 label.setIcon(URLImage.createToStorage(encImage, "Medium_" + "http://xxx/myurl.jpg", "http://xxx/myurl.jpg", URLImage.RESIZE_SCALE));
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34205094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档