freak89 hat folgendes geschrieben: |
Hi, ich habe gleich 2 fragen an euch:
1. wie kann ich bei image1.canvas alle gezeichneten striche mit einem befehl wieder wegmachen sodass meine bild wieder weiß ist?
2. wie füge ich hintergrundmusik ein, und geht das schon bei delphi 3? |
Wenn du so ein Komfort haben willst, dann solltest du Flash programmieren. Delphi ist keine Multimedia Programmiersprache, bei der du gleich die Hintergrundmusik einstellen kannst. Wenn, dann musst du es mühsam programmieren. Aber es geht.
Über FillRect kannst du etwas in der Hilfe nachlesen. Aber übersetz mal was der Name aussagt: FillReckt = Rechteck füllen. Du kannst jeden beliebigen Rechteck in deiner Zeichnung wählen und füllen. Wenn du alles füllen willst, dann wähle:
Delphi-Quelltext
1:
| Canvas.FillRect(Canvas.ClipRect); |
ClipRect enthält die Koordinate des gesamten Canvas. Informiere dich über TRect, dann verstehst du was gemeint ist.
Aber mit was füllt FillRect? Du kannst mit einer Bitmap oder einer Farbe füllen. Bleiben wir bei Farbe. FillRect wählt die aktuelle Hintergrundfarbe und füllt damit den Bereich. Damit ist die Brush Farbe gemeint:
Delphi-Quelltext
1:
| Canvas.Brush.Color := clWhite; |
Stellt die Farbe auf weiß.
Delphi-Quelltext
1: 2:
| Canvas.Brush.Color := clRed; Canvas.FillRect(Canvas.ClipRect); |
Füllt alles mit der Farbe Rot.
Wenn du mit Bitmap löschen willst, dann geht das in etwa so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var Bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile('c:\bild.bmp'); Canvas.Brush.Bitmap := Bitmap; Canvas.FillRect(Canvas.ClipRect); finally Canvas.Brush.Bitmap := nil; Bitmap.Free; end; end; |
Hier wird ein Bild für den Brush geladen und es wird damit der Bereich gefüllt.
Eine kleine Besonderheit: das System entscheidet automatisch ob mit Farbe oder Bild gefüllt wird. Das hängt davon ab was zuletzt zugewiesen wurde. War es di Bitmap, dann wird mit der Bitmp gefüllt. War es eine Farbe, dann wird mit der Farbe gefüllt. Also schön aufpassen.