Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Blätter auf einem Stapel zeichnen

  Alt 5. Okt 2003, 19:55
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;
Angehängte Grafiken
 
Thomas
  Mit Zitat antworten Zitat