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();

ストレッチ中に画像の見栄えを良くするには、png画像の代わりにsvg画像を使用することをお勧めします。

于 2012-04-18T06:10:35.783 に答える
4

純粋な QML ソリューションとして、要素のsmoothプロパティを次のように設定するだけです。Imagetrue

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 に答える