W języku QML utworzyłem widok Rectangle
z zestawem elementów Image
w nim. Nie mogę uzyskać właściwości smooth
do pracy, która jest ustawiona na true
zarówno dla widoku, jak i dla obrazów. Próbowałem skalować obrazy i skalować widok. Bez względu na to, co robię, dostaję postrzępiony, skalowany obraz. Czy czegoś brakuje?Właściwość wygładzania obrazu QML nie działa
Pracuję z Qt 5.2 i używam QtQuick2ApplicationViewer
(podklasy QQuickView
) jako mojego głównego widoku.
Znalazłem rozwiązania, w których zastosowano wygładzanie, zastępując obsługę obrazu w silniku, ale mam wrażenie, że właściwość smooth
powinna po prostu działać po wyjęciu z pudełka.
Kod:
Image {
source: "image_400x400.png"
width: 400
height: 400
smooth: true
transform {
Scale {xScale: 0.25; yScale: 0.25}
}
}
Druga próba:
Image {
source: "image_400x400.png"
width: 100
height: 100
smooth: true
}
Trzecia próba:
Rectangle {
width: 400
height: 400
smooth: true
Image {
source: "image_400x400.png"
width: 400
height: 400
smooth: true
}
transform {
Scale {xScale: 0.25; yScale: 0.25}
}
}
uzyskać ten sam rezultat za każdym razem.
Aktualizacja: zgodnie z sugestią Nejata, wypróbowałem nową właściwość Qt 5 antialiasing
. Wynik poprawia się, ale przy skalowaniu poniżej 0,5x krawędzie nadal są nieco poszarpane. Czy istnieje sposób na zmianę jakości wygładzania?
Od lewej do prawej:
- oczekiwany wynik (skalowane w Photoshopie, bez edycji)
antialiasing
ismooth
włączona- tylko
smooth
włączona
I m także nadal wygrywałem dering, dlaczego smooth
nic nie robi.
To jest naprawdę skomplikowane, dziękuję Kay!Teraz się z tym pogodzę - to działa, ale natychmiastowy efekt końcowy tak bardzo zmniejsza jego rozmycie, gdy zmniejszam obrazki o więcej niż 4x. Domyślam się, że pisanie niestandardowych efektów cieniowania jest następnym krokiem? Mogę po prostu trzymać się formatu powierzchni, który napisałem wcześniej, aby wszystko było proste. – Robbert
Jeszcze raz dziękuję Kay, 'mipmap: true' rzeczywiście rozwiązał problem od Qt 5.3. – Robbert
Dziękujemy! Spędziłem dobre piętnaście minut w porównaniu z nieruchomością "antialias" zastanawiając się, dlaczego nic nie robi ... –