Image URL图像作为标签图标的大小

Image URL图像作为标签图标的大小,image,codenameone,scaling,Image,Codenameone,Scaling,我的目标是下载任意大小的图像,对其应用圆形遮罩,并以512 x 512的大小在屏幕上显示图像 我尝试使用带有512 x 512占位符和圆形掩码的urlmimage,并通过setIcon()将其放置在标签上。但是,当图像以自然大小、圆形绘制时,标签会获得正确的高度(512)。我希望它垂直填充标签,保留纵横比 我的代码: EncodedImage img = URLImage.createToStorage( roundPlaceholder,

我的目标是下载任意大小的图像,对其应用圆形遮罩,并以512 x 512的大小在屏幕上显示图像

我尝试使用带有512 x 512占位符和圆形掩码的
urlmimage
,并通过
setIcon()
将其放置在
标签上。但是,当图像以自然大小、圆形绘制时,标签会获得正确的高度(512)。我希望它垂直填充标签,保留纵横比

我的代码:

           EncodedImage img = URLImage.createToStorage(
                roundPlaceholder, // roundPlaceholder is 512 x 512  
                "rounded" + uid, 
                imageUrl, 
                URLImage.createMaskAdapter(mask)); // mask is 512 x 512 

           myLabel.setIcon(img); 

我是否遗漏了什么,或者这不是解决问题的方法吗?

尝试以下方法:下载自然大小的图像,但保留所需的占位符大小。确定宽度或高度是否较长,并使用image类的.scaledWidth或.scaledHeight方法调整其大小并保留纵横比。在应用遮罩之前,您可能还有一些工作要做,以确保遮罩大小与图像匹配。

遮罩适配器的默认行为是“按比例填充”,而不是自然大小。所以这可能会误导你。您可能希望采用“按比例调整”的方法,但这可能会产生问题,因为它可能会产生空白点


请参阅:

谢谢,但您的建议无效。看起来,不管我给它多大的宽度/高度,URLImage都是以很小的尺寸绘制的。好吧,这个面具是一条红鲱鱼。如果我只是使用一个空白的512 x 512图像作为占位符,结果是一样的。另一方面,如果我将相同的图像添加到项目的资源中,并调用setIcon(),它将以正确的大小绘制。也许有一种方法可以将URLImage转换为普通图像?没有。URLImage根据定义调整下载图像的大小,以适应/填充您给定的大小。逻辑/用例是适合指定给所述图像的特定空间。。。这对于应用程序设计和替换都很重要,因此替换不会回流/中断,并且是无缝的。听起来你不想要urimage&应该只使用一个简单的文件下载,这可能会更好地满足你的需要。原来我以前用同一个名字在应用程序的不同部分下载了同一张图片的较小版本。显然,即使在我清除了模拟器存储之后,这个小版本还是被重用了。无论如何,谢谢你。