Konverzija nekog formata u TIFF ?

Konverzija nekog formata u TIFF ?

offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

Radim neki program i sada mi se javlja potreba da recimo neki format, recimo .PNG konvertujem u .TIFF.
Jednostavna promjena ekstenzije ne pali.
Ja pozovem recimo, mspaint.exe i uvezem .PNG u njega i onda ga snimim kao .TIFF i to rjesava problem.

E sada, sta meni treba?

Treba mi kako da snimim iz mspaint.exe sliku kao .TIFF, naravno iz programa?

Sliku uvezem pomocu funkcije :

ShellExecute(application.Handle,'open',pchar('C:\WINDOWS\system32\mspaint.exe'),'C:\WINDOWS\system32\map.png',nil,SW_SHOW);

i sada je trebam snimiti kao .TIFF na neku lokacju.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Skroluj do zadnje cetvrtine sledece stranice:
[Link mogu videti samo ulogovani korisnici]

Imas tu BMP2TIFF. Pretpostavljam da ti nije problem da konvertujes PNG u BMP, pa posle uz pomoc ovoga u TIFF.



offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Pogledaj i ove linkove:

[Link mogu videti samo ulogovani korisnici]

[Link mogu videti samo ulogovani korisnici]

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ukoliko preferiras spoljasnje programe za konverziju, pogledaj Image Magik:
[Link mogu videti samo ulogovani korisnici]

To je paket konzolnih programa za obradu i konverziju slika, i ima i verzija za Windows.

offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

OK, trebalo bi da nesto ispadne od ovoga.
Testiram nesto 100 puta, i kada trebam da ga isporucim, onda odaberem opciju koju nikada nisam testirao i naravno ona ne radi.

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Aman!
Zoves eksterni program da bi uradio nesto sto bi u stvari ti trebao da isprogramiras.
Mislim da na torry.net -u imas dosta biblioteka za to.

offline
  • Pridružio: 03 Nov 2006
  • Poruke: 59

Evo kako sam to rjesio, ako nekome, nekada bude trebalo !

  1. procedure TOtvoriDok.Button2Click(Sender: TObject);
  2. var doc:string;
  3. var kraj:boolean;
  4.     hwnd, hins:Thandle;
  5.     SEInfo: TShellExecuteInfo;
  6.     ExitCode: DWORD;
  7.     ExecuteFile, ParamString, StartInString, st: string;
  8.     tempdir:string;
  9.     A : Array[0..100] of Char;
  10.     doc2:string;
  11.     default_convert : string;
  12.     tip, pozicija : integer;
  13. begin
  14.   GetTempPath(100,@A);
  15.   tempdir:=A;
  16.   pozicija := pos('.', document);
  17.   st := copy(document, pozicija, length(document)-pozicija+1);
  18.   tip := 1;
  19.  // doc := document;
  20.   doc := 'tempfile'+PROTOKOL_DOKUMENTI_ID.AsString;
  21. { case tip of
  22.    1 : doc:=doc+'.png';
  23.   else
  24.     MessageDlg('Nepoznat format', mtError, [mbOK], 0);
  25.     exit;
  26.   end;  }
  27.   doc:=doc+st;
  28.   doc2:=tempdir+'tempscan2.tif';
  29.  
  30.   ExecuteFile:='C:\Projekt\Tis\Aplikacije\nconvert';
  31.   default_convert:=' -quiet -out tiff -c 6 ';
  32.  
  33.   FillChar(SEInfo, SizeOf(SEInfo), 0);
  34.   SEInfo.cbSize := SizeOf(TShellExecuteInfo);
  35.   Application.ProcessMessages;
  36.   with SEInfo do begin
  37.     fMask := SEE_MASK_NOCLOSEPROCESS;
  38.     Wnd := Application.Handle;
  39.     lpFile := PChar(ExecuteFile);
  40.     lpParameters := PChar('-o '+doc2+default_convert+doc);
  41.     lpDirectory := PChar(tempdir);
  42.     nShow := SW_Hide;
  43.   end;
  44.  
  45.    if ShellExecuteEx(@SEInfo) then begin
  46.     repeat
  47.       Application.ProcessMessages;
  48.       GetExitCodeProcess(SEInfo.hProcess, ExitCode);
  49.       sleep(10);
  50.     until (ExitCode <> STILL_ACTIVE) or (application.Terminated);
  51.  
  52.  
  53.   end else begin
  54.     ShowMessage('Greska u konvertovanju dokumenta !');
  55.   end;
  56.  
  57.  
  58.  
  59.  //   DeleteFile(doc2);
  60.  
  61.  
  62.  
  63.  
  64. end;

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Odlican primer kako ne treba raditi

ceo Workforce oko dobijanja direktorijuma i egzekucije externog programa moze da se napise u tacno 3 linije.

Ko je trenutno na forumu
 

Ukupno su 940 korisnika na forumu :: 56 registrovanih, 4 sakrivenih i 880 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 04bokibole, AC-DC, ALFASPORTIVO, Apok, babaroga, bavar357, Bobrock1, bojanstros9, Bokiboks, brkan1, cole77, Crazzer, darkojovxp, Demi87, Dimitrise93, draganl, dragisa dragisa, esx66, famoso, FileFinder, Gogi_avio, gregorxix, GveX, Igor Antonic, ikan, jnikola23, JosipRi, kalens021, kaskadija, Kole1975, kulus, LjutaGuja, mackenzie, Marko1238, markolopin, MB120mm, mercedesamg, mnn2, nerevar, precan, Prečanin30, PrincipL, raketaš, ruma, S2M, Srna, Tafocus, Tihi86, Tila Painen, Tribal, Velizar Laro, vlad the impaler, Voice1, zlaya011, zziko, Čivi