我的目标是下载任意大小的图像,对其应用圆形遮罩,并在屏幕上显示尺寸为512 x 512的图像。
我尝试使用带有512 x 512占位符和圆形遮罩的URLImage
并通过Label
将其放在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);
我错过了什么,或者不是这样做的?
答案 0 :(得分:1)
尝试此操作:以自然大小下载图片,但保留占位符大小。确定宽度或高度是否更长,并使用图像类的.scaledWidth或.scaledHeight方法调整其大小并保留纵横比。在应用之前,您可能需要做更多的工作来确保您的蒙版大小与图像匹配。
答案 1 :(得分:0)
掩码适配器的默认行为是"缩放以填充"不是自然的大小。所以这可能会误导你。你可能期望一个"规模适合"方法,但这可能会有问题,因为它可能会产生空白点。