1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69:
| procedure TForm1.Button1Click(Sender: TObject); var i, Breite1, Hoehe : Integer; b, Breite : Byte; c : Char; bm1, bm2, hg : TBitmap; Rect1 : TRect; begin Breite:=40; with Image1.Canvas do begin Rectangle(349,180,391,222); for i:=1 to 40 do begin b:=Round(255*sin(0.7+(i/19))); Pen.Color:=RGB(b,b,b); MoveTo(350,180+i); LineTo(390,180+i); end; Font.Size:=22; Font.Name:='Arial'; Font.Color:=clBlack; Font.Style:=[fsBold]; Brush.Color:=clWhite; FillRect(Rect(450,20,490,320)); for i:=1 to 5 do begin c:=Chr(64+i); Breite1:=TextWidth(c); Hoehe:=TextHeight(c); TextOut(470-Breite1 div 2, 40*i-Hoehe div 2,c); end; end; Rect1:=Rect(0,0,Breite,300); bm1:=TBitmap.Create; bm1.Width:=Breite; bm1.Height:=300; bm1.Canvas.FillRect(Rect(0,0,Breite,300)); bm1.Transparent:=True; bm1.Canvas.CopyRect(Rect1,Image1.Canvas,Rect(450,20,450+Breite,320)); bm1.Transparent:=True; bm1.TransParentColor := bm1.canvas.pixels[1,1]; hg:=TBitmap.Create; hg.Width:=Breite; hg.Height:=Breite; hg.Canvas.CopyRect(Rect(0,0,Breite,Breite),Image1.Canvas,Rect(350,181,350+Breite,181+Breite)); bm2:=TBitmap.Create; bm2.Width:=Breite; bm2.Height:=Breite; bm2.Transparent:=True; bm2.TransParentColor := bm2.canvas.pixels[1,1]; for i:=1 to 160 do begin bm2.Canvas.CopyRect(Rect(0,0,Breite,Breite),bm1.Canvas,Rect(0,i,Breite,Breite+i)); Image1.Canvas.CopyRect(Rect(350,181,350+Breite,181+Breite),hg.Canvas,Rect(0,0,Breite,Breite)); Image1.Canvas.Draw(350,181,bm2); Pause(20); end; for i:=160 downto 1 do begin bm2.Canvas.CopyRect(Rect(0,0,Breite,Breite),bm1.Canvas,Rect(0,i,Breite,Breite+i)); Image1.Canvas.CopyRect(Rect(350,181,350+Breite,181+Breite),hg.Canvas,Rect(0,0,Breite,Breite)); Image1.Canvas.Draw(350,181,bm2); Pause(20); end; bm1.Free; bm2.Free; hg.Free; end; |