Home » Tipps & Tricks » Grafik » Grafikbearbeitung » Sprites darstellen

Sprites darstellen

Sprites sind die kleinen Grafiken, die sich über eine andere Grafik legen, ohne den Untergrund zu zerstören, die also teilweise durchsichtig sind. Nachdem man einen entsprechenden Scherenschnitt erstellt hat (vgl. entsprechenden Tipp), zeichnet folgender Code die Sprites.

Der Code erfordert die Übergabe von Shape, dem Scherenschnitt. Auf diesen Parameter könnte auch verzichtet werden und der entsprechende Scherenschnitt erst in der Prozedur selbst erstellt werden. Dies ist aber, wenn viele Sprites häufig dargestellt werden sollen, natürlich für die Performance hinderlich. Daher wurde dieser Weg nicht gegangen.

procedure DrawSprite(C:TCanvas; Sprite, Shape: TImage; X, Y:Integer);
begin
BitBlt(C.Handle, 0, 0, Sprite.Width, Sprite.Height,
   Shape.Canvas.Handle, 0, 0, SRCAnd);
BitBlt(C.Handle, 0, 0, Sprite.Width, Sprite.Height,
   Sprite.Canvas.Handle, 0, 0, SRCInvert);
// Beispiel:
// DrawSprite(PaintBox1.Canvas, Image1, Image2, 0, 0);
end;