Ich habe Daten als 2D Arrays vorliegen die ich als Bild ausgeben möchte. Diese Werte liegen als double Werte vor und müssen noch in RGB Werte umgewandelt werden. Die Größen der Daten müssen exact in Pixel umgewandelt werden. Ein Array der Größe 256x256 soll daher auf dem Bildschirm auch 256x256 Pixel ausfüllen.
Meine wesentliche Frage hierzu ist welche Klasse dazu sinnvoll ist.
Gefunden habe ich unter anderem folgende:
- QPainter
- QPixmap
- QImage
- QGraphicsView
aber grundsätzlich interessiert mich am meisten welche geignet ist.
Zwei wesentlich Anforderungen gibt es dabei. Zum einen muss Double Buffering unterstützt werden und das zeichnen soll schnell gehen.
Die Geschwindigkeit bringt mich auch gleich zur nächsten Frage. Ist es sinnvoller in ein Image (welche klasse müsste ich dann nutzen?) zu zeichnen und das im ganzen auszugeben oder direkt über
Code: Alles auswählen
for(int x=0; x<N;x++)
for(int y=0; y<N;y++)
whateverclass.drawPoint (x,y );
Eine OpenGl basierte zeichenmethode könnte ich auch nutzen allerdings kenne ich mich mit OpenGL nicht aus und wüsste auch gerne wie es ohne (also direkt mit Qt) geht.
Eine weitere Frage wäre welche Methoden Qt kennt um in RGB Farben umzurechnen?
Desweiteren habe ich Arrays die größer und kleiner sein werden als das widget. Wie kann ich dann hoch oder runterskalieren?
Und wenn ich nicht skalieren möchte wie kann ich dann ein 512x512 Bild in ein 256x256 Widget zeichnen und die Ansicht mit Scrollbars ändern?
Sehr viele Fragen, aber ich hoffe ihr könnt mir ein paar Anstöße geben
Vielen Dank,
Matthias