AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[GDI] Offscreen Bitmap - solved

Ein Thema von SnuffMaster23 · begonnen am 1. Aug 2008 · letzter Beitrag vom 2. Aug 2008
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von SnuffMaster23
SnuffMaster23

Registriert seit: 13. Feb 2006
Ort: Kempten
253 Beiträge
 
#11

Re: [GDI] Offscreen Bitmap

  Alt 2. Aug 2008, 01:28
Ja aber wenn ich aufn monochromen DC blit hab ich auch nix davon.
Lustig bin ich fast immer, daran sollts net scheitern

Der kompatible DC is erstmal immer monochrom und 1x1 Pixel groß. Der braucht ja dann ein (buntes) größeres Bitmap. Aber es geht halt auch nur mit nem kompatiblen Bitmap, wenn ich eins mit CreateBitmap erzeug kann des noch so bunt sein, er malt mir dann aufn Bildschirm, selbst mit dem Memory DC
"Conspiracy is the poor man's mapping of the world" - Fredric Jameson
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: [GDI] Offscreen Bitmap

  Alt 2. Aug 2008, 01:49
Nochmal in Klartext: Ersetze diese Zeile:
Code:
hDC = CreateCompatibleDC(GetDC(NULL));
mit dieser:
Code:
hDC = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
Sonst nichts, und schau ob das so ist, wie du es möchtest.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von SnuffMaster23
SnuffMaster23

Registriert seit: 13. Feb 2006
Ort: Kempten
253 Beiträge
 
#13

Re: [GDI] Offscreen Bitmap

  Alt 2. Aug 2008, 13:51
Nein, so hatt ichs zuerst. Das malt zwar in Farbe aber aufn Bildschirm und nicht ins Bitmap
Sowohl mit nem kompatiblen als auch mit nem 'normalen' Bitmap.
"Conspiracy is the poor man's mapping of the world" - Fredric Jameson
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: [GDI] Offscreen Bitmap

  Alt 2. Aug 2008, 13:58
Hm, okay, mist Dann muss ich hier leider aussteigen, das war schon leicht über der Grenze meines Lateins

Ich sollte mich eindeutig mal mehr mit der API beschäftige...
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von SnuffMaster23
SnuffMaster23

Registriert seit: 13. Feb 2006
Ort: Kempten
253 Beiträge
 
#15

Re: [GDI] Offscreen Bitmap

  Alt 2. Aug 2008, 16:12
Ok, ich hab einen kleinen Fortschritt erzielt^^
Ich komm an meine Pixeldaten
Code:
  GetDIBits(hDC, hBMP, 0, 512, pixels, &BmpInfo, DIB_RGB_COLORS);
Fehlt nur noch etwas Farbe...

//Edit:
Manchmal hilfts in Beispiele zu gucken die nicht ganz direkt was damit zu tun haben: Capturing an Image
Zitat:
Code:
hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);
 
// Create a compatible bitmap for hdcScreen.
 
hbmScreen = CreateCompatibleBitmap(hdcScreen,
                     GetDeviceCaps(hdcScreen, HORZRES),
                     GetDeviceCaps(hdcScreen, VERTRES));
Die erzeugen einen bunten DC, dazu einen Memory DC und ein Bitmap zum bunten DC, nicht zum Memory DC der ja auch bunt sein sollte

Das hier tuts auch und ist meiner Meinung nach sauberer weil kein ungenutzter DC erzeugt werden muss:
Code:
  HDC       hDC,
             hTmpDC = GetDC(HWND_DESKTOP);
// ...
  hDC = CreateCompatibleDC(hTmpDC);
  hBMP = CreateCompatibleBitmap(hTmpDC, 512, 512);
"Conspiracy is the poor man's mapping of the world" - Fredric Jameson
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#16

Re: [GDI] Offscreen Bitmap - solved

  Alt 2. Aug 2008, 17:52
@Medium ops... passiert *g* das nächste mal bin ich wohl lieber ruhig
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: [GDI] Offscreen Bitmap - solved

  Alt 2. Aug 2008, 18:46
Also das Bitmap mit dem ersten DC als Parameter erstellen, um es dann im davon ausgehend erzeugten zweiten DC zu benutzen ist die Lösung. Machmal... also, nur manchmal, da wundere ich mich schon ob jetzt der Entwickler dieser API einen im Tee hatte, oder ob mein Kaffee nur zu schwach war um dem einen tieferen Sinn beimessen zu können
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz