GIF zu JPG umwandeln und speichern mit der GraphicEx library von
http://www.soft-gems.net/index.php?o...d=13&Itemid=33
In dem Convert-Projekt ist in Main.pas das PopupMenu1 mit einem TruevisionTarga1Click drin.
Das PopupMenu1 habe ich um ein JPEGImage1Click ergänzt, welches ich von TruevisionTarga1Click abgekupfert und abgeändert habe:
_________________________________________
Delphi-Quellcode:
procedure TMainForm.JPEGImage1Click(Sender: TObject);
var
Target: TJpegImage;
gif: TGifImage;
begin
with SPD
do
begin
//Filter := FileFormatList.GetGraphicFilter([], fstBoth, [foCompact, foIncludeAll, foIncludeExtension], TTargaGraphic);
Filter := '
*.jpg|*.jpg';
if Execute
then
begin
Target := TJpegImage.Create;
Target.CompressionQuality := 90;
try
if (Image1.Picture.Graphic
is TBitmap)
then
Target.Assign(Image1.Picture.Graphic)
else
begin
MessageBox(
Handle, '
Kein TBitmap?', '
Fehler', mb_Ok
or mb_IconInformation
or mb_DefButton1);
gif := TGifImage.Create;
gif.Assign(Image1.Picture.Bitmap);
gif.LoadFromFile(OpenedFileName);
Target.Assign(gif.Bitmap);
gif.Free;
end;
Target.SaveToFile(FileName);
finally
Target.Free;
end;
end;
end;
end;
_________________________________________
Weitere Änderungen in Main.pas:
Delphi-Quellcode:
uses
... GifImage... // <= diese
var
MainForm: TMainForm;
implementation
uses
ShellAPI, Properties;
{$R *.DFM}
var OpenedFileName: string; // <= diese
_________________________________________
Delphi-Quellcode:
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
OPD.Filter := '*.gif|*.gif';
if OPD.Execute then DoLoad(OPD.FileName);
OpenedFileName := OPD.FileName; // <= diese
end;
_________________________________________
Falls ich nichts vergessen haben sollte, bewirken meine Änderungen,
- Daß beim Klicken auf "Open" nur *.gif-Dateien angezeigt werden
und das gif-Bild dann im Hauptfenster angezeigt wird.
- Daß beim Klicken auf das kleine schwarze Dreieck hinter "Save source as" beim Klicken auf "JPEG Image" ein "Speichern unter..."-Dialog erscheint, der alle bereits vorhandenen *.jpegs anzeigt. Beim Eintippen eines neuen Dateinamens wird dieser automatisch um die Extension .jpg ergänzt und die GIF-Datei als JPG-Datei gespeichert. Habe ich mehrmals mit Irfanview überprüft, die GIF- nach JPG-Umwandlung hat geklappt!
Danach ist das Bild im Hauptfenster von Main.pas wieder leer.
_________________________________________
Das Ganze hat mich rund zehn Stunden "Versuch und Irrtum" gekostet. Wer's besser kann, sollte es doch bitte auch tun und hier veröffentlichen, statt an meinem Herumbasteln herumzunörgeln
http://de.wikipedia.org/wiki/Buzzword-Bingo
Gruß
Gustav
Habe die Delphi-Tags nachträglich gesetzt und hoffentlich hinbekommen.