Autor Beitrag
freak89
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29



BeitragVerfasst: So 13.03.05 15:40 
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?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 13.03.05 15:50 
user profile iconfreak89 hat folgendes geschrieben:
Hi, ich habe gleich 2 fragen an euch:

Bitte immer nur eine je Thread.

user profile iconfreak89 hat folgendes geschrieben:
1. wie kann ich bei image1.canvas alle gezeichneten striche mit einem befehl wieder wegmachen sodass meine bild wieder weiß ist?

TCanvas.FillRect

user profile iconfreak89 hat folgendes geschrieben:
2. wie füge ich hintergrundmusik ein, und geht das schon bei delphi 3?

Ja, TMediaplayer.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
freak89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29



BeitragVerfasst: So 13.03.05 16:03 
ok danke canvas.fillrect und dann? was muss ich da dann für eine variable einsetzten?
Mike_C
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 207

Win XP
D7 Enterprise
BeitragVerfasst: So 13.03.05 16:14 
kleiner Tipp:

Delphi->Hilfe und nach TCanvas suchen. Dann Properties, Methods und Events anschauen. Durchlesen und versuchen auf deine Anwendung zu beziehen.

Trotz allem: soweit ich weiß braucht Canvas.FillRect ein Rechteck, das du füllen willst, eine Füllfarbe und einen Füllstil.

Edit: Sorry, du brauchst für FillRect nur das Rechteck, vorher musst du aber die Füllfarbe definieren, ggf. auch den Füllstil setzen

Mehr Infos dazu wie gesagt in der Hilfe

_________________
Life is, what some people call a mystery. To me life's just a lesson, you're learning when you're through. So why do we try to understand?
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: So 13.03.05 17:07 
user profile iconfreak89 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:

ausblenden 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:

ausblenden Delphi-Quelltext
1:
Canvas.Brush.Color := clWhite;					


Stellt die Farbe auf weiß.

ausblenden 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:

ausblenden 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.

_________________
Popov