如何在不破坏图像纵横比的情况下调整 QImage 或 QML 图像的大小以适应父容器

Posted

技术标签:

【中文标题】如何在不破坏图像纵横比的情况下调整 QImage 或 QML 图像的大小以适应父容器【英文标题】:How to resize a QImage or QML Image to fit parent container without breaking the Image's aspect ratio 【发布时间】:2017-12-12 13:41:48 【问题描述】:

场景: 我在 QML 中有一个 Image 组件,其中包含不同纵横比的 QImage。

代码:

Window 
  id: app_window
  visible: true

  Rectangle 
    id: my_image_view_container
    width: app_window.width
    height: app_window.height

    Image 
       id: my_image
       // changes at runtime based on the image my app selects
       source: "random/path/to/an/image.jpg"
       width: sourceSize.width
       height: sourceSize.height
       scale: Qt.KeepAspectRatio
    
  

问题: 如何设置my_image_view_containerwidthheight 以便将my_image 完全放入my_image_view_container 而不影响其纵横比?

【问题讨论】:

【参考方案1】:

您可以使用 fillMode 属性。 像这样

fillMode: Image.PreserveAspectFit

【讨论】:

正是我想要的。我很久以前就知道这个属性。缺少设置这个权利。非常感谢!

以上是关于如何在不破坏图像纵横比的情况下调整 QImage 或 QML 图像的大小以适应父容器的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python - 如何在不超过原始图像大小的情况下调整裁剪图像的大小以满足纵横比

在不保持纵横比的情况下使用 mogrify 调整图像大小

如何在不扭曲纵横比的情况下将 1000x1000 图像调整为 200x300 图像[重复]

在不改变原始纵横比的情况下将位图大小调整为 512x512

Keras - 如何在不改变纵横比的情况下使用 ImageDataGenerator

在不丢失纵横比的情况下将图像放入特定大小的盒子中?