Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#5

AW: GDI+: Farbe eines Pixels ermitteln

  Alt 27. Mai 2011, 20:04
Es ist zum Harreraufen!
Ich verstehe es echt nicht

Wie komme ich mit GDI+ an die Methoden:
  1. Bitmap.GetPixel(x, y, c)
  2. Bitmap.LockBits()
  3. Bitmap.GetHBitmap()
ran?
Ich verstehe einfach nicht von welchem Typ die Variable "Bitmap" sein muß, und wie ich sie erzeuge.
Das habe ich versucht:
  • Var Bitmap : IGPImage; [...] Bitmap := IGPBitmap.Create(Filename);
  • Var Bitmap : TGPBitmap; [...] Bitmap := TIGPBitmap.Create(Filename);
  • Var Bitmap : GPBitmap; [...] Bitmap := GPBitmap.Create(Filename);

Keine diese Arten liefert ein Methode .GetPixel(), LockBits() oder GetHBitmap().

Dann habe ich die GDIPlus.Pas danach durchsucht, und finde tatsächlich:

//----------------------------------------------------------------------------
// Bitmap APIs
//----------------------------------------------------------------------------
[...]
{ GdipBitmapGetPixel(GpBitmap* bitmap, INT x, INT y, ARGB *color); }
function GdipBitmapGetPixel(Bitmap: GpBitmap; X: Integer; Y: Integer;
out Color: ARGB): TGPStatus; stdcall; external GdiPlusDll;

{ GdipBitmapSetPixel(GpBitmap* bitmap, INT x, INT y, ARGB color); }
function GdipBitmapSetPixel(Bitmap: GpBitmap; X: Integer; Y: Integer;
Color: ARGB): TGPStatus; stdcall; external GdiPlusDll;
[...]

Aber ich habe nicht den leiseten Schimmer, wie ich an diese Methoden rankomme -- bzw. ein Bitmap Objekt erzeuge, welches diese Methoden hat.

Kann hier vielleicht jemand helfen?
Wäre euch sehr dankbar.

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat