当前位置: 首页 > 知识库问答 >
问题:

代码名一:图像问题

华星剑
2023-03-14

我一直在开发一个应用程序,我有一个客户列表,我将客户显示为一个列表(使用容器,而不是代码名1中解释的列表)。从带有主要标签的列表中,我点击该商品,它会进入详细页面,在那里我会显示客户图片和其他信息。下面是我从url获取图像的代码(amazon s3 bucket)

private Image getUserProfilePicture(String imgName)
{
Image defaultImage = FromResource("DefaultPhoto.png");
int width = defaultImage.getWidth();
int height = defaultImage.getHeight();

String imgUrl = "image from s3 bucket";
EncodedImage placeHolder = (EncodedImage)defaultImage;
Image roundMask = Image.createImage(width, height, 0xff000000);
Graphics gr = roundMask.getGraphics();
gr.setColor(0xffffff);
gr.fillArc(0, 0, width, height, 0, 360);
URLImage.ImageAdapter ada = URLImage.createMaskAdapter(placeHolder);
//image is deleted from storage before load
Image profileImage = URLImage.createToStorage(placeHolder, imgName, 
imgUrl, ada);
return profileImage;
}

有些客户一开始没有图像,我确实看到了默认图像。当我html" target="_blank">返回列表并再次单击同一客户时,我没有显示任何图像。空白处。相反,我在调试器窗口中收到了跟随错误消息。

[EDT]0:0:0,1-例外:java。lang.IllegalArgumentException-为长度为306 java的给定图像数据创建图像失败。lang.IllegalArgumentException:在com上为长度为306的给定图像数据创建图像失败。代号1。用户界面。形象在com上创建图像(Image.java:655)。代号1。用户界面。这是我的年龄。getInternal(EncodedImage.java:366)位于com。代号1。用户界面。这是我的年龄。getInternalImpl(EncodedImage.java:341)位于com。代号1。用户界面。这是我的年龄。com上的getWidth(EncodedImage.java:512)。代号1。用户界面。URLImage$ScaleToFill。adaptImage(URLImage.java:116)在com上发布。代号1。用户界面。URLImage$下载完成。actionPerformed(URLImage.java:239)在com上发布。代号1。用户界面。URLImage 4美元。com上的onsuces(URLImage.java:302)。代号1。用户界面。URLImage 4美元。com上的onsuces(URLImage.java:298)。代号1。util。回拨调度员。在com上运行(CallbackDispatcher.java:53)。代号1。用户界面。陈列com上的processSerialCalls(Display.java:1155)。代号1。用户界面。陈列edtLoopImpl(Display.java:1099)位于com。代号1。用户界面。陈列mainEDTLoop(Display.java:1000)位于com。代号1。用户界面。RunnableWrapper。在
com上运行(runnablerrapper.java:120)。代号1。impl。代码名一个线程。运行(CodenameOneThread.java:176)

当我再次返回列表并再次单击同一客户时,我确实看到了默认图像。我每隔一次点击就会收到这个错误信息。我完全迷路了。

我知道占位符图像将一直显示,直到图像从url加载。在这种情况下,s3存储桶中没有图像。由于我没有使用NetworkManager检查204响应代码,因此无法确定图像是否已加载。我直接将S3URL与URLImage一起使用。

任何帮助都将不胜感激。

谢谢你。

共有1个答案

姬浩渺
2023-03-14

清除本地存储以确保图像已下载。打开网络监视器并查看结果。306字节似乎是图像的错误大小,所以我猜您从amazon收到了一条错误消息,并试图将其作为图像读取。

如果打开网络监视器,您应该能够检查发送的请求和响应,并查看请求失败的原因。

 类似资料:
  • 任何人都可以帮助我解决这个问题AndroidManifest.xml mainactivity.kt

  • 问题内容: 在准备涉及图像的MCVE / SSCCE时,直接访问图像很有用。 可以解决大多数问题的图像类型包括-具有多种颜色或形状的小图像,具有/不具有透明度的动画GIF,作为图像“成对”的JPEG,可用于图像过渡,平铺集,精灵表中。 对于这些类型的示例,我们是否可以热链接到任何小的(小于30KB)的现场许可和免版税图片? 问题答案: 这是一些常用的示例图像,主要来自SO上的现有答案。 图示 使用

  • 本文向大家介绍php图像验证码生成代码,包括了php图像验证码生成代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php封装的一个生成图像验证码,供大家参考,具体内容如下 一、代码 index..php TestCode.php  二、运行结果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍手写一下tensorflow的图像分类代码相关面试题,主要包含被问及手写一下tensorflow的图像分类代码时的应答技巧和注意事项,需要的朋友参考一下 参考回答: tensorflow的图像分类代码 #将所有的图片resize成100*100   #读取图片 #打乱顺序   #将所有数据分为训练集和验证集 #-----------------构建网络----------------

  • 我有一个django项目,可以将文件上传到AWS S3 bucket。例如,如果使用标记在模板中呈现上传的文件和静态文件,则会正确显示它们。但是,当我想使用,图像不会显示。我检查了代码,获取了js代码中呈现的url,并将其粘贴到浏览器上,它给出了以下错误: 更多有用的信息: 用户上传一张图片,然后他可以裁剪图片。我使用Croppie,它是一个js库,使用图像的url,如下所示: 一切都在本地工作。

  • 问题内容: 有没有一种方法(或编辑器)可以让我从源文件(例如* .java)中链接图像/文件/ http链接,有点像富文本文档? 这样,在阅读代码时,我可以快速查看附加的图像(增强注释),而不用打开浏览器等。 问题答案: Javadocs是HTML,因此您可以在其中嵌入图片: Eclipse会很高兴在javadoc视图中或将鼠标悬停在注释上时向您显示图像。其他IDE可能会或可能不会这样做。 显然,