代号一:如何在保持纵横比的同时显示缩放的图像



我试图弄清楚以最高质量显示用户提供的图像(照片((可以是任何尺寸(,同时保持纵横比。 (用户提供的照片可能具有不同的宽度和高度。

我有以下代码:

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并保持纵横比。 你得到了什么结果?

最新更新