Image 如何同时显示纵向和纵向;将景观图像转换为网格上的正方形而不影响纵横比?
我正在使用Image 如何同时显示纵向和纵向;将景观图像转换为网格上的正方形而不影响纵横比?,image,qt,gridview,qml,image-gallery,Image,Qt,Gridview,Qml,Image Gallery,我正在使用GridView创建一个图像库,这些图像是我从机器上的某个文件夹中显示的。图像具有不同的宽高比。很少有肖像图像的高度是宽度的3倍。有些图像是横向的,宽度约为高度的3倍。有些图像是平方的 我的图库的问题是,我的GridView的每个Image组件都有一个正方形,如下所示。这使得纵向和横向图像被错误地拉伸,因为网格中的每个块都是正方形。从而导致图像的纵横比向上倾斜 问题: 如何确保在不扭曲纵横比的情况下,将纵向和横向图像显示到正方形中?我正在考虑把一些黑色/灰色的背景放在正方形的部分,在肖
GridView
创建一个图像库,这些图像是我从机器上的某个文件夹中显示的。图像具有不同的宽高比。很少有肖像图像的高度是宽度的3倍。有些图像是横向的,宽度约为高度的3倍。有些图像是平方的
我的图库的问题是,我的GridView
的每个Image
组件都有一个正方形,如下所示。这使得纵向和横向图像被错误地拉伸,因为网格中的每个块都是正方形。从而导致图像的纵横比向上倾斜
问题:
如何确保在不扭曲纵横比的情况下,将纵向和横向图像显示到正方形中?我正在考虑把一些黑色/灰色的背景放在正方形的部分,在肖像或风景图片上是空白的?但可能还有其他窍门
代码:
import QtQuick 2.5
import Qt.labs.folderlistmodel 2.1
import QtQuick.Controls 1.1
import QtQml.Models 2.1
GridView {
cellHeight: height/2
cellWidth: width/2
clip: true
FolderListModel {
id: dir_model
folder: "/path/to/images/folder"
nameFilters: ["*.png"]
}
Component {
id: file_delegate
Image {
width: (parent.width)/2
height: (parent.width)/2
source: fileURL
}
}
model: dir_model
delegate: file_delegate
}
只需将
Image
属性设置为Image.preserveApectFit
正如医生所说:
图像将均匀缩放以适合,无需裁剪
您是否尝试在图像上使用
fillMode:Image.preserveApectFit
?完美。这就是我需要的