Entwickler-Ecke

Sonstiges (Delphi) - Delphi 7 Paint Problem Bitmap Laden


Disconnect - Fr 26.03.10 18:51
Titel: Delphi 7 Paint Problem Bitmap Laden
Hallo Com,

hab gerade anggefangen mit Delphi und lerne es immoment seit einem halbem Jahr im Fach Informatik. Wir sollten in diesem Programm unser eigenes Paintprogramm realisieren.Die Grundlegenden Dinge hab ich bereits geschaftt. Danach habe ich selbst noch ein paar Extras wie z.b. Speichern,den Exit Button und die Funktion seine Zeichung zu löschen eingefügt. Deshalb sind diese Programm teile auch einfach durch ausprobieren bzw durch logisches denken von mir gemacht worden, deshalb sind sie wahrscheinlich ziemlich primitiv programmiert. Nun komme ich allerdings nicht weiter ich möchte noch das es möglich ist ein vorher gezeichnetes bild zu laden , zudem während das Programm läuft einen Floodfill durch einen klick auf die Linke Maustaste machen.

Vielen dank schon mal für die Zeit und Hilfe :-)

Moderiert von user profile iconNarses: Binaries aus dem Archiv entfernt.


IceBube - Fr 26.03.10 22:12

Hallo!

Ich habs mir kurz angeschaut...


Delphi-Quelltext
1:
2:
3:
4:
5:
...Timer()...
gauge1.progress:=gauge1.progress+1;
if gauge1.progress= 100 then
form1.Imbild.Picture.SaveToFile(Edit1.Text);
...

^So dauert das speichern ja viel länger :/

Das laden der Bilder ist leicht gemacht einfach nur:


Delphi-Quelltext
1:
Form1.ImBild.Picture.LoadFromFile(Dateiname)                    

Nimm einen "OpenPictureDialog" schreibe im Event "CanClose"


Delphi-Quelltext
1:
ImBild.Picture.LoadFromFile(DateiName)                    


Zum ausführen von dem Dialog "OpenPictureDialog.Execute"

Noch ein Tipp:
Um die gesamte Bildfläche zu löschen =>


Delphi-Quelltext
1:
ImBild.Picture := Nil;                    


lg

P.s: Das mit "Floodfill" weiß ich selbst nicht ganz genau^


Disconnect - Sa 27.03.10 14:40

Danke , erstmal für die Hilfe :-)
das mit dem Gauge war nur Fun ich weiß das es natürlich nix bringt :D
Ich hab es jetzt hingekriegt das ich mit picture.loadfrom...meine alten Bilder laden kann.
Das reicht mir auch erstmal nur den floodfill bekomme ich noch nicht hin.

aber danke für die tolle antwort nochmal hat echt geholfen.


Narses - Sa 27.03.10 20:40

Moin und :welcome: im Forum!

user profile iconDisconnect hat folgendes geschrieben Zum zitierten Posting springen:
Das reicht mir auch erstmal nur den floodfill bekomme ich noch nicht hin.
Ist doch kein Problem, TCanvas hat doch eine entsprechende Methode: :idea: ;)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
  Image1.Picture.Bitmap.Width := Image1.Width;
  Image1.Picture.Bitmap.Height := Image1.Height;
  Image1.Picture.Bitmap.Canvas.Ellipse(Image1.Picture.Bitmap.Canvas.ClipRect);
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
  Image1.Picture.Bitmap.Canvas.Brush.Color := Random($FFFFFF)+1;
  Image1.Picture.Bitmap.Canvas.FloodFill(Image1.Width div 2,Image1.Height div 2,clBlack,fsBorder);
end;
cu
Narses