我使用下面的代码从网址获取图片。在模拟器中,只有图片的中间中心显示正确的高度,但图像被拉伸,看起来它需要从中心高度的原始图片的1/3。如何在模拟器中获得完整的图片?
EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(100, 100, 0xf0f00000), false);
URLImage img = URLImage.createToStorage(placeholder, "profilbillede.jpg", URL, URLImage.RESIZE_SCALE);
img.fetch();
//border container
Container ct = new Container(new BorderLayout());
ct.add(BorderLayout.NORTH, new Label(""))
.add(BorderLayout.WEST, new Label(""))
.add(BorderLayout.EAST, new Label(""))
.add(BorderLayout.SOUTH, new Label(""));
ScaleImageLabel picture = new ScaleImageLabel(img);
ct.add(BorderLayout.CENTER, picture);
home.add(ct);
答案 0 :(得分:2)
您的图片将根据占位符图片的大小下载和创建。在这种情况下,100 x 100px。我建议您使用该设备通过将占位符声明行更改为:
来正确缩放图像EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(CN.getDisplayWidth(), CN.getDisplayWidth(), 0xf0f00000), false); //or half of the screen width by dividing CN.getDisplayWidth() to 2
我还建议您在URLImage.RESIZE_SCALE_TO_FILL
方法中使用URLImage.RESIZE_SCALE
代替URLImage
。
先前缓存的图像将被使用,直到它被清除。要清除它们,请转到用户主文件夹并查找.cn1
文件夹。在Windows上,它位于C:\Users\UserName
。
答案 1 :(得分:0)
不使用文件扩展名