Autor Beitrag
goldensurfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Sa 18.02.06 19:12 
Ich experimentiere gerade mit der TGifImage-Komponente... mein Problem: ich möchte ein GIF laden, dann dort was reinmalen (z.B. einen Strich quer durch) und dann das Ganze wieder als GIF abspeichern.

Mit der TImage-Komponente und TGifImage kann ich das GIF darstellen und per Button und Methode LoadFromFile anzeigen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('Image.gif');
end;


Wenn ich aber nun versuche, etwas darauf zu malen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Image1.Canvas.Pen.Color := $000000;
  Image1.Canvas.MoveTo(50,50);
  Image1.Canvas.LineTo(100,100);
end;


bekomme ich nur die Fehlermeldung, dass mein Image keine Bitmap enthält.
Kann ich mit TGifImage überhaupt Images ändern und wieder als GIF abspeichern? Oder ist die Komponente nur zum Anzeigen gedacht?

Danke,
Ralf
Rattu$
Hält's aus hier
Beiträge: 8

Win XP
Delphi 5
BeitragVerfasst: Sa 18.02.06 20:02 
Hallo,

ich schätze, dass das Zeichnen auf Canvas nur mit einer Bitmap funktioniert.
Wenn du nur die Transparenz brauchst, dann kannst du auch die Transparenzfunktion der Bitmap benutzen.
goldensurfer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 19.02.06 13:04 
Nein, leider geht es nicht nur um die Transparenz. Es geht darum, in einer aus dem Internet geladenen Landkarte - die dann als GIF vorliegt - einen bestimmten Punkt zu markieren (durch Einzeichnen eines Sterns, Fadenkreuz oder dergleichen) und das Ergebnis wieder als GIF abzuspeichern.
Mit Bitmap wäre das gar kein Problem, allerdings werden die Grafiken dann ja riesig. Und vor allem liegt mir halt die Quelle nur als GIF vor.