Da ich gerade etwas ähnliches brauchte (eigentlich einen Farbverlauf in einem Polygon - aber ob Farbverlauf oder Schraffur, nur der Inhalt ändert sich) habe ich Uwes Tipp in Code umgesetzt.
Und weil es kurz vor Weihnachten ist, habe ich das mit Schraffur auch ausprobiert:
Delphi-Quellcode:
procedure Dreieck(ABmp: TBitmap);
var
P: array[0..3] of TPoint;
Rgn : HRGN;
begin
with ABmp do
begin
P[0] := Point(0, Height);
P[1] := Point((Width div 2), 0);
P[2] := Point(Width, Height);
P[3] := P[0];
Rgn := CreatePolygonRgn(P[0], Length(P), WINDING);
SelectClipRgn(Canvas.Handle, Rgn);
Canvas.Brush.Style := bsDiagCross;
Canvas.FillRect(Canvas.ClipRect);
DeleteObject(Rgn);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with Image1 do
begin
Picture.Bitmap.Width := Width;
Picture.Bitmap.Height := Height;
Dreieck(Picture.Bitmap);
end;
end;
Ich denke es ist alles richtig so.