我试图弄清楚以最高质量显示用户提供的图像(照片((可以是任何尺寸(,同时保持纵横比。 (用户提供的照片可能具有不同的宽度和高度。
我有以下代码:
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,但它似乎不起作用。
此外,如果图像可以在屏幕上居中,那就太好了。
请通过提供一些代码来提供帮助。谢谢!
Image scaledInfluencerMainPhoto = influencerMainPhoto.scaled(mainPhotoWidth, -1);
应努力将宽度设置为mainPhotoWidth
并保持纵横比。 你得到了什么结果?