Einzelnen Beitrag anzeigen

Gustav.R
(Gast)

n/a Beiträge
 
#1

GIF zu JPG umwandeln

  Alt 14. Jun 2011, 23:30
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.
  Mit Zitat antworten Zitat