Zum Inhalt springen

MFC: CBitmap


FighterFigger

Empfohlene Beiträge

hmmmmmpf ...

Hallo liebe Gemeinde.

Ich programmiere seit einiger Zeit in C++ mit MFC-Unterstützung, und habe ein Problem.

Beschreibung der Anwendung:

Ein Feld (Matrix) an Werten (zB: Helligkeit oder Temperatur) soll in einer SDI auf dem schönen, weißen Hintergrund gebracht werden. Jeder Wert hat seine Farbe (Graustufen). Es entsteht eine graue 'Mondlandschaft'.

Problem:

Ich will die Punkte nicht einzeln setzen (beim Stretchen sogar als Rechtecke) sondern die CBitmap-Klasse verwenden. Das Problem ist, daß ich weder eine Ressource noch eine Datei habe, sondern ein Datenfeld. Dieses kann ich mit CreateBitmapIndirect in ein Bitmap wandeln - oder? :rolleyes:

Mein Ergebnis:

Er zeigt nichts an. Alles weiß.

Wenn ich eine Ressource angebe, zeigt er was.

Also: Meine Zuweisungen an den DeviceContext ist richtig ... es muß bei der Erstellung des Bitmaps liegen.

Frage:

Habt ihr sachdienliche Hinweise?

Ich habe schon x Seiten durchlesen - kennt ihr eine (x+1)te Seite?

Hilfe .... :eek:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jo ...

also: (danke erstmal ... )

Ich habe meinen Fahler gefunden, was ihr nicht konntet, weil ihr meinen Code nicht hattet.

Ich gebe ihm bei CreateBitmap explizit nochmal die BitFarbTiefe (pro Pixel) mit, und anstatt daß der dann damit arbeitet, erstellt er das Bild trotzdem nur, wenn diese Zahl mit der aktuellen Device-Farbtiefe UND dem Datentyp des Bild-Daten-Arrays überein stimmt. Da frage ich mich natürlich, wozu ich ihm das überhaupt übergeben muß, aber das klappt nun.:P

Bei CreateCompatibleBitmap {BOOL CreateCompatibleBitmap( CDC* pDC, int nWidth, int nHeight);} habe ich wohl verpaßt, wo ich da den Verweis auf die Bitmapdaten lege, deshalb habe ich da nicht weiter gesucht, werde dies aber sofort wiederholen.

Noch etwas:

Kennt sich jemand mit CDC::SetColorAdjustment {BOOL SetColorAdjustment( const COLORADJUSTMENT* lpColorAdjust);} aus? ...

Ich weiß, daß das nur mit WinNT richtig geht, aber das das nur mit 16-Bit-Farben läuft, steht nirgens. Bei mir verhält es sich aber so ... sowohl die Microsoft-Demo (Halftone.exe) als auch mein Programm. Kann es sein, daß bei 32Bit kein Halftone zieht? ... wäre ja schrecklich ...

schöne Grüße ... Volker

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...