Hallo!
Ich habe erneut ein bzw. zwei riesige Probleme, bei denen ihr mir hoffentlich helfen könnt!
Mein Zeichenpogramm hat einmal diese Prozedur
Code:
procedure TForm1.Button5Click(Sender: TObject);
begin // .bmp-Bild laden
if OpenPictureDialog1.Execute then
Bitmap:=TBitmap.create;
Bitmap.Width:=704;
Bitmap.Height:=603;
Bitmap.Canvas.Brush.Color:=ColorDialog1.Color;
Bitmap.Canvas.Fillrect(Rect(0,0,704,603));
Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
BitBlt(Paintbox1.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SrcCopy);
Bitmap.Free;
end;
mit der man ein bmp-Bild laden kann und diese
Code:
procedure TForm1.Button4Click(Sender: TObject);
begin // Speichert den Inhalt der Paintbox an eine beliebige Stelle
if SavePictureDialog1.Execute then
Bitmap:=TBitmap.Create;
Bitmap.PixelFormat := pf32bit;
Bitmap.Width:=Paintbox1.Width;
Bitmap.Height:=Paintbox1.Height;
Bitmap.Canvas.CopyRect(Bounds(0,0,bitmap.Width, Bitmap.Height),
PaintBox1.Canvas, PaintBox1.ClientRect);
Bitmap.SaveToFile(SavePictureDialog1.FileName);
Bitmap.Free;
end;
mit der man das Gemalte Kunstwerk speichern kann.
Nun habe ich folgende Probleme:
1. Wenn ich beim "Bild laden" bzw. "Bild speichern" auf abbrechen klicke kommt folgende Fehlermeldung:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Project2.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0042217C in Modul 'Project2.exe'. Lesen von Adresse 00000028'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
2.Wenn ich ein Bild speichere, dann wird es nicht als .bmp-Bild gespeichert. Wie bekomme ich es hin, das Bild als .bmp zu speichern?
Für Hilfe wäre ich sehr dankbar!