Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prebacivanje iz gif u tif format

[es] :: Pascal / Delphi / Kylix :: Prebacivanje iz gif u tif format

[ Pregleda: 2776 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anon68680

Član broj: 68680
Poruke: 528
77.46.225.*



+14 Profil

icon Prebacivanje iz gif u tif format26.06.2008. u 14:07 - pre 192 meseci
Pokusavam da nadjem kod koji ce prebacivati GIF u TIF format bez ikakve kompresije... Ako neko mozda ima gotov kod ili mozda ima ideju kako bih ovo mogao da uradim neka mi javi googlao sam bez ikakvih rezultata a jos slabo baratam ovim stvarima..
 
Odgovor na temu

anon68680

Član broj: 68680
Poruke: 528
77.46.225.*



+14 Profil

icon Re: Prebacivanje iz gif u tif format27.06.2008. u 14:40 - pre 192 meseci
Ping? Pong!

Niko ne zna? Ne mora bas iz gifa.. Mozda bih mogao da prebacim gif u jpg pa onda u tif ili slicno tome...
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
93.86.22.*



+31 Profil

icon Re: Prebacivanje iz gif u tif format28.06.2008. u 17:37 - pre 192 meseci
Potrazi na netu GraphicEx komponente.
Besplatne su i dozvoljavaju konverziju izmedu mnogih grafickih formata.
 
Odgovor na temu

nikomak
Nikola Makić
Beograd

Član broj: 177053
Poruke: 65
*.eunet.yu.



+1 Profil

icon Re: Prebacivanje iz gif u tif format29.06.2008. u 14:24 - pre 192 meseci
Slazem se da su GrapihcEx odlicne komponente, ali ja bih predlozio GDI+ iz razloga zato sto je to veoma thin layer, a poseduje dosta mogucnosti. Pascal GDI+ API se moze naci ovde http://www.progdigy.com/files/gdiplus.zip

Posto je zahtevana konverzija iz gif formata u tiff, predpostavljam da se zeli sacuvati svaki frame gif slike u tiff multiframe, inace
je kod konverzije dosta jednostavniji :)

Code:

...
uses ... GDIPAPI, GDIPOBJ, GDIPUTIL;
..
procedure Gif2Tiff(GifImgPath, TiffImgPath: String);
var Img, TiffImg: TGPImage;
 encoderClsid: TGUID;
 encoderParameters: TEncoderParameters;
 encoderVal: TEncoderValue;
 status: TStatus;
 frameCount: Integer;
 dimensionId: TGUID;
 I: Integer;
begin
//
 Img := TGPImage.Create(GifImgPath);
 try
 if GetEncoderClsid('image/tiff', encoderClsid) < 0 then
  begin
   ShowMessage('tiff encoder nije instaliran!');
   Exit;
  end;
 TiffImg := TGPImage.Create(GifImgPath);
 Img.GetFrameDimensionsList(@dimensionId,1);
 frameCount := Img.GetFrameCount(dimensionId);

 encoderParameters.Count := 1;
 encoderParameters.Parameter[0].Guid := EncoderSaveFlag;
 encoderParameters.Parameter[0].Type_ := EncoderParameterValueTypeLong;
 encoderParameters.Parameter[0].NumberOfValues := 1;
 encoderVal := EncoderValueMultiFrame;
 encoderParameters.Parameter[0].Value := @encoderVal;

 status := TiffImg.Save(TiffImgPath,encoderClsid, @encoderParameters);
 if status <> GDIPAPI.Ok then
    ShowMessage( Format('Greska: %s',[GetStatus(status)]) )
 else
 begin
  //od 1 zato sto je prvi frame vec save-ovan
  for I := 1 to frameCount - 1 do
   begin
     encoderVal := EncoderValueFrameDimensionPage;

     status := Img.SelectActiveFrame(dimensionId,I);
     if status <> GDIPAPI.Ok then
     begin
      ShowMessage( Format('Greska: %s',[GetStatus(status)]) );
      Exit;
     end;

     status := TiffImg.SaveAdd(Img, @encoderParameters);
     if status <> GDIPAPI.Ok then
     begin
      ShowMessage( Format('Greska: %s',[GetStatus(status)]) );
      Exit;
     end;
   end;

   encoderVal := EncoderValueFlush;
   TiffImg.SaveAdd(@encoderParameters);
   if status <> GDIPAPI.Ok then
    begin
     ShowMessage( Format('Greska: %s',[GetStatus(status)]) );
     Exit;
    end;

  ShowMessage('Konverzija ooook ! :)');
 end;
 finally
   FreeAndNil(Img);
   FreeAndNil(TiffImg);
 end;

end;


[Ovu poruku je menjao nikomak dana 29.06.2008. u 16:40 GMT+1]
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Prebacivanje iz gif u tif format

[ Pregleda: 2776 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.