Seite 1 von 1

[gelöst] QPixmap verschluckt sich an einem Bild buffer

Verfasst: 30. Oktober 2005 09:51
von Vrenn
Hallo,

Zu meinem Problem: Ich versuche einen gegebenen Bildbuffer in ein QPixmap zu laden und anzuzeigen. Doch irgendwie erkennt QPixmap nicht, was es da verdauen soll. Was genau braucht QPixmap jetzt um das Bild zu "erkennen"?

Code: Alles auswählen

bload = tempsmallimagedata->loadFromData ( (const uchar*)((const void**)(smalldicomimage->getOutputData ( 0, i))), smalldicomimage->getOutputDataSize() );
Nähere Informationen zu getOutputdata.
Im Moment bekomme ich nur bunte Flecken und QPixmap::convertFromImage: Cannot convert a null image

Wenn es an dem smalldicomimage-Objekt liegt, was muss ich dann von ihm verlangen?

Danke für jede Hilfe, jeden Versuch und jeden Schuss ins Blaue.

Verfasst: 31. Oktober 2005 00:48
von lepsai
Probier mal:

bload = tempsmallimagedata->loadFromData ( (const char**)smalldicomimage->getOutputData( 0, i) );

Aber ich denke, dass das nicht funktionieren wird. Schon der Ansatz. Wie der Speicher beim dieser DicomImage Klasse aussieht, weiss keine Sau...
Bzw. ist schwer nachvollziehbar, was man tun soll, um an die Pixelwerte ranzukommen. Wenn du es aber schaffst, solltest du zuerst ein QImage erstellen und mit diesem weiterarbeiten...

Verfasst: 31. Oktober 2005 11:29
von Vrenn
Leider, gcc sagt, immer error: no matching function for call to `QPixmap::loadFromData(...
Schon 3 Versionen versucht, die obrige ist die einzige die durch-compiled.
QImage: gute Idee, ich geb den Pixelkram aber gleich an eine Listbox weiter, soll mal nur eine Vorschau sein (wenigstens das sollte mal funktionieren).

Lösung gefunden

Verfasst: 6. November 2005 14:47
von Vrenn
Lang gesucht und kaum optimiert, da wahrscheinlich nur auf 8 bit begrenzt und auf qt3 geschrieben. Aber ohne die "Optimiererzeile" gehts :-)

http://forum.dcmtk.org/viewtopic.php?t= ... outputdata
Für alle die es auch mal mit dcmtk versuchen wollen...

Danke euch.