我正在努力想要在保持纵横比的同时,以最高质量显示用户提供的图像(照片)(可能有任何尺寸)。(照片提供者用户可能有不同的宽度和高度。)
我有以下代码:
private Container prepareMainPhotoContainer(Image influencerMainPhoto) {
if(influencerMainPhoto == null) {
return null;
}
int deviceDisplayWidth = Display.getInstance().getDisplayWidth();
int mainPhotoCurrentWidth = influencerMainPhoto.getWidth();
int displayWidth = (int) (deviceDisplayWidth * 0.8);
int mainPhotoWidth = mainPhotoCurrentWidth > displayWidth ? displayWidth : mainPhotoCurrentWidth;
Image scaledInfluencerMainPhoto = influencerMainPhoto.scaled(mainPhotoWidth, -1);
Container imageContainer = new Container();
imageContainer.add(scaledInfluencerMainPhoto);
return imageContainer;
}
根据文档,它表示缩放方法可以接受-1,但它似乎不起作用。
此外,如果图像可以在屏幕上居中,那就太好了。
请提供一些代码帮助。谢谢!
答案 0 :(得分:2)
Image scaledInfluencerMainPhoto = influencerMainPhoto.scaled(mainPhotoWidth, -1);
应该将宽度设置为mainPhotoWidth
并保持宽高比。你得到了什么结果?