Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MFC: CBitmap

Empfohlene Antworten

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:

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.