我有一个QIMage可以是纵向或横向模式,具体取决于它的宽度与高度。或相反亦然。
我试图在不破坏纵横比的情况下以横向模式拟合纵向 QIMage 并以纵向模式拟合横向 QImage 。
以下是我尝试执行此操作的方法:
Window {
id: app_window
visible: true
Rectangle {
id: my_image_view_container
width: my_image.sourceSize.width
height: my_image.sourceSize.height
// This is a Image item which has to host a portrait/landscape image.jpg in both portrait & landscape modes on an android device
Image {
id: my_image
anchors.fill: parent
// changes at runtime based on the image my app selects
source: "random/path/to/an/image.jpg"
scale: Qt.KeepAspectRatio
}
}
}
它基本上可以保持纵横比。当我app_window从纵向调整为横向时,图像没有倾斜。
问题:
但在横向模式下,如果app_window' 的高度小于my_image' 的高度,则图像不会完全可见。
问题:
我应该如何设置my_image_view_container&的大小my_image才能image.jpg在不破坏纵横比的情况下完成横向和纵向的托管,也不会错过以任何模式查看图像的部分内容?
PS:
挑战是例如:我拍摄了一个 QML 快照并创建了一个 100 单位宽 x 300 单位高的 QImage。现在更改移动设备的方向或将桌面上的窗口大小调整为横向。现在,我需要将 300 单位高度的 QIMage 调整为 100 单位的高度。如何设置 QIMage 的宽度和高度来很好地完成这个?我看到,当您在横向模式下查看纵向捕捉图像时,Android 上的 Google 照片通过在图像的两侧嵌入黑色来很好地做到这一点,反之亦然。我希望完全实现谷歌照片的这个功能。应该可以通过设置 Image QML 元素的正确宽度和高度来实现吗?