Bitmap gekachelt darstellen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Möchten Sie eine Fläche mit einem Bild ausfüllen, ohne es zu strecken, müssen Sie es kacheln. Dabei wird das Bild nebeneinander und übereinander kopiert. Folgende Prozedur übernimmt diese Aufgabe. Dem ersten Parameter muss das Bild in Form eines TBitmap-Objekts übergeben werden. Dieses Bitmap wird dann auf dem Ziel-Canvas, der der Prozedur als zweiten Parameter übergeben werden muss, gekachelt:
var
X, Y: Integer;
begin
Y:=0;
while Y < ATarget.ClipRect.Bottom do
begin
X:=0;
while X < ATarget.ClipRect.Right do
begin
ATarget.Draw(X, Y, ATile);
Inc(X, ATile.Width);
end;
Inc(Y,ATile.Height);
end;
end;
Aufgerufen werden kann die Prozedur beispielsweise so:
var
Bmp: TBitmap;
begin
Bmp:=TBitmap.Create;
try
Bmp.LoadFromFile('c:\bild.bmp');
TileGraphic(Bmp, {Form1.}Canvas);
finally
Bmp.Free;
end;
end;
Als Quelle wird hier das Bitmap mit dem Dateinamen 'C:\bild.bmp' verwendet und auf den Hintergrund des Formulares gezeichnet.