Danke für deine Antwort!
Hab's nun mit Polygons gezeichnet.
Sieht für den Anfang nicht schlecht aus. Siehe Anlage.
Jetzt hab ich noch das Problem, daß der Hintergrund weiß gezeichnet wird.
Es bringt auch nichts, den Brush.Style auf bsClear zu setzen oder SetBkMode aufzurufen.
Delphi-Quellcode:
procedure TForm1.DrawPile(AImage : TImage; iNumCards : Integer);
const
x1 = 10;
y1 = 100;
var
x2, dx, y2 : Integer;
y2_temp, y1_temp : Integer;
pts :
array [0..3]
of TPoint;
begin
dx := 4;
y2 := y1 - 10;
x2 := x1 + 30;
y2_temp := y2;
y1_temp := y1;
AImage.Picture :=
nil;
AImage.Canvas.Brush.Color := clYellow;
AImage.Canvas.Pen.Color := clBlack;
AImage.Canvas.FillRect(AImage.BoundsRect);
// SetBkMode(AImage.Canvas.Handle, TRANSPARENT);
// AImage.Canvas.Brush.Style := bsClear;
repeat
pts[0] := Point(x1, y1_temp);
pts[1] := Point(x1 - dx, y2_temp);
pts[2] := Point(x2 - dx, y2_temp);
pts[3] := Point(x2, y1_temp);
AImage.Canvas.Polygon(pts);
dec(y2_temp, 2);
dec(y1_temp, 2);
until (y2_temp = y2 - (2 * iNumCards))
or (iNumCards = 0);
end;