Entwickler-Ecke

Multimedia / Grafik - jpg in gif Konvertieren


neo - Do 19.06.03 22:46
Titel: jpg in gif Konvertieren
Hallo!

Ich möchte eibn Programm schreiben, mit dem ich dann ganz einfach und schnell
zum Beispiel 10 Dateien (OpenDialog) im Gif Format mit gleichem Namen abspeichern kann.

Weiß wer Rat?


Alfons-G - So 22.06.03 00:02

Dazu benötigst Du eine GIF-Komponente (z.B. TGifImage von Anders Melander), welche Du bei Torry oder Delphi Super Page downloaden kannst und die mit Delphi mitgelieferte Unit JPEG.
Du kannst dann ein JPEP-Bild erzeugen mit TJPEGImage.Create und mit LoadFromFile laden. Die Bitmap dieses Bildes weist Du dann dem TGIFIMAGE zu und speicherst es mit dessen SafeToFile-Methode.

Zu diesem Thema findest Du über die Suchfunktion einige Hinweise.

8)


gogi2207 - Fr 08.08.03 12:20

Weiß jemand was man noch zu tun hat um das Bild richtig anzeigen zu lassen? Zur Zeit wird das Bild nur mit einer ganz schlechten Qualität abgespeichert. Den Quellcode habe ich dazu gepostet :

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
function TForm_Auswahl.JPEGtoGIF(const FileName: TFileName):TFileName;
var
  jpeg: TJPEGImage;
  gif:  TGifImage;
begin
  jpeg := TJPEGImage.Create;
  try
    jpeg.LoadFromFile(FileName);
    gif := TGifImage.Create;
    try
      gif.Assign(jpeg);
      gif.SaveTofile(ChangeFileExt(Datei1, '.gif'));
      Datei := ChangeFileExt(Date1,'.gif');
    finally
      gif.Free
    end;
  finally    
    jpeg.Free
  end; 
 result:=Datei;
end;

Jochen

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.


Eggi - Fr 08.08.03 15:07

Hallo,

da bei einem Gif nur 256 Farben benutzt werden können wird es immer zu der schlechten Qualität kommen. Was du brauchst sind Algorithmen die eine Farbreduzierung so durchführen, das das Bild möglichst gut erhalten bleibt. Ein möglicher Algorithmus wäre das Floyd Steinberg Dithering.

Eggi


gogi2207 - Mo 11.08.03 09:12

Weißt du auch wo man Informationen darüber findet? Oder wie man dies anwendet, habe nämlich noch nichts davon gehört.


Eggi - Mo 11.08.03 11:35

Vielleicht ist der Algorithmus in deiner Gif-Komponente implementiert. Mit etwas Glück findest du in der Beschreibung oder im Quelltext der Komponente etwas.

Ansonsten frag doch mal eine Suchmaschine deiner Wahl nach "Floyd Steinberg Dithering" und "Delphi". Da wirst du garantiert was finden.

Eggi