Home » Tutorials » Grafik und Spiele » Verwendung des Microsoft GDI+

Verwendung des Microsoft GDI+

Bilder laden und zeichnen

Das GDI+ enthält mehrere En-/Decoder für verschiedene Bildformate wie z.B. JPEG oder PNG. Im folgenden Beispiel zeichnen wir einen horizontalen Farbverlauf und anschließend eine PNG mit Transparenz darüber.

procedure TForm2.PaintBox1Paint(Sender: TObject);
var
graphics: TGPGraphics;
brush: TGPLinearGradientBrush;
R: TGPRect;
image: TGPImage;
Color1: ARGB;
Color2: ARGB;
begin
//Zeichenbrett erstellen
graphics := TGPGraphics.Create(PaintBox1.Canvas.Handle);

try
//Farbwert für Farbverlauf zuweisen
Color1 := MakeColor(255,255,255,0);
Color2 := MakeColor(255,255,0,255);

//Rect für den Farbverlauf
R.X := 0;
R.Y := 0;
R.Width := PaintBox1.Width;
R.Height := PaintBox1.Height;

//Farbverlaufsfüllung erstellen
brush := TGPlinearGradientBrush.Create(R,Color1,Color2,90);

try
//Rechteck mit Farbverlauf füllen
graphics.FillRectangle(Brush,R);
//Bild laden
Image := TGPImage.Create(‚heart.png‘);

try
//Bild auf Rect einpassen und zeichnen
graphics.DrawImage(Image, R);
finally
image.Free;
end;

finally
brush.Free;
end;

finally
graphics.Free;
end;
end;

Das GDI+ entscheidet beim Laden der Bilddatei, welcher Decoder anzuwenden ist, sofern dieser vorhanden ist. Der GDI+-Übersetzung liegt ein Beispiel bei, um vorhandene Decoder aufzulisten. Gegebenenfalls sollte man vorher prüfen, ob der richtige Decoder vorhanden ist.