Was ist notwendig, um das Canvas-Element von QtQuick 2 HiDPI- (Retina-) bewusst zu machen?

8

Ich habe die folgende qml-Anwendung:

%Vor%

Dies erzeugt zwei schwarze Kreise nebeneinander. Der linke (der Rectangle ) ist auf einem Retina-Display knackig, während der rechte ( Canvas ) ziemlich unscharf ist. Wenn ich

hinzufüge %Vor%

zu Canvas , es erzeugt grob verschwommene Pixel.

Was muss ich machen, damit% %% das% HiDPI erkennt?

(Ich verwende Qt 5.2.0 Beta 1 unter Mac OS X 10.8)

Bearbeiten: Die Problemumgehung bestand darin, das Canvas in ein Canvas zu verpacken, alles in Item zu skalieren und dann onPaint auf transform zu verwenden. die Skalierung zurück.

%Vor%     
Tobias 24.10.2013, 18:13
quelle

1 Antwort

7

Wir verwendeten den gleichen Trick, die Größe zu verdoppeln und dann für die zu verkleinern ProgressCircle in qml-material . Es gibt jedoch ein paar Verbesserungen, die Sie vornehmen können:

  1. Verwenden Sie scale anstelle von transform .
  2. Verwenden Sie Screen.devicePixelRatio aus dem Modul QtQuick.Window , anstatt den Skalierungsfaktor bei 2 / 0,5 zu kodieren.

So kann Ihr Code vereinfacht werden:

%Vor%     
iBelieve 31.01.2016 03:12
quelle

Tags und Links