3

我在 QML 中有一段代码:

Image {
    anchors.rightMargin: 10
    anchors.leftMargin: 10
    anchors.bottomMargin: 10
    anchors.topMargin: 10
    anchors.fill: parent
    source: "Google Chrome Icon.png"
    fillMode: Image.PreserveAspectFit
    }

图像随窗口自动拉伸。但是拉伸方法没有抗锯齿,因此结果很丑:

铬图像

有什么方法可以使结果很好吗?

4

2 回答 2

4

您可以通过启用它来启用抗锯齿QDeclarativeView

QDeclarativeView view;
view.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
view.setResizeMode( QDeclarativeView::SizeRootObjectToView );
view.setSource(QUrl("qrc:/main.qml"));
view.show();

如何在拉伸时使图像看起来不错,我建议您使用 svg 图像而不是 png 图像。

于 2012-04-18T06:10:35.783 回答
4

作为纯 QML 解决方案,您可以简单地将元素的属性设置smoothImagetrue

import QtQuick 1.0

Image {
    smooth: true  // smoother image
    anchors.rightMargin: 10
    anchors.leftMargin: 10
    anchors.bottomMargin: 10
    anchors.topMargin: 10
    anchors.fill: parent
    source: "Google Chrome Icon.png"
    fillMode: Image.PreserveAspectFit
}
于 2012-04-18T09:59:35.057 回答