generování zmenšenin GIF obrázků

Nevěděl by někdo, jak generovat zmenšeniny GIFů do stránek?

GD knihovna to nepodporuje (teda alespoň tak, která je nainstalovaná na serveru), ImageMagick nelze využít, protože není podporováno spouštění aplikací (pomocí system()), tak už nevím, jak to vymyslet. Nejspíš si budu muset vytvořit svojí rutinu na dekódování binárních dat z GIFu a pak to resizovat, uložit a pak si už rovnou můžu hodit mašli, protože mi bude tak padesát let než to bude fungovat :-) Nebo jak třeba convertovat GIF do PNG, pak bych to už zvládnul.

Ještě jednu otázku bych měl? Jak získat z jiného serveru např. obrázek nebo textová data a zajistit, že v případě, že je server zaneprázdněný, nedostupný atd., aby se od toho opustilo. Když totiž použiji fopen(), tak může čekat až patnáct sekund a pak mi moje stránka překročí časový limit a pak bye-bye uživateli, přijdi zítra.

Tomáš
dela to fci. ImageCopyResized();
dale viz manual.. ps: GD knihovna obsahuje tuto funkci
> dela to fci. ImageCopyResized();

to jo ... ale ne s GIFem :) ...

Nebylo by lepsi prejit rovnou na PNG? ... proste mit na WZ obrazky v PNG ... zmenseniny generovat v PNG ... a mas po problemu :)

Radek
Jo. Ale já potřebuju nahrát nějaký gif ze vzdáleného serveru a z něho pak udělat zmenšeninu a tu poslat prohlížeči.

Hledal jsem na netu, jak to udělat a našel jsem, že to jde snad jen pomocí novější GD knihovny, která podporuje GIFy (ta tu není nainstalovaná) nebo pomocí ImageMagick (to nejde ale taky na tomhle serveru).

Na webu jsem taky našel gif2png aplikaci, ale ta stejně nejde na WZ spustit (zakázána fce system(),...). Fakt nevím, jak na to. Asi budu muset návštěvníky mojí budoucí stránky zahlcovat velkými GIfy, které pak budu resizovat jehom pomocí <IMG width='' height=''> tagu. No to si asi každý umí představit, jak to bude vypadat hrozně a jak dlouho to bude trvat. Výhodu to však bude mít alespoň pro server, stihne se to všechno do těch 15 vteřin maximálního běhu skriptu a server to moc nezatíží.

Tomáš
Tak na tyhle tvoje stranky jsem vcelku zvedavej :) ... jaky ze to ma mit smysl? ... Jako provizorni reseni bych asi videl misto nahledu generovat odkazy s textem odvozenym od tagu ALT ... teda, pokud to budes stahovat ze serveru, ktery jasou "slusny" a ten tag alt dusledne pouzivaji ... nebo z nazvu obrazku a textu, ktery je ve strance kolem toho obrazku (coz v pripade ne zrovna cisteho HTML by byla pekna fuska :)))

Nebo me napada, udelat si pomocnou administratorskou stranku (treba jen u sebe na lokalu), ktera bude stahovat ty velky obrazky ... pak bys mohl pouzit PhotoShop nebo jinej program, ktery umoznuje davkovy zpracovani obrazku a ty nahledy predgenerovat ...

Timhle bys ziskal v zasade 2 veci ... vyssi rychlost, vyssi kvalitu nahledu(zmensenina pres ImageCopyResized(); nevypada zrovna nejlip) ... ale zas bys ty zmenseniny musel u sebe na webu ukladat a nebude to zcela samocinny a automaticky ... zalezi na konkretni aplikaci, jestli je to pouzitelny.

A dej si taky bacha na to, ze se autorovi nemusi zrovna libit, ze mu vysosavas web :) ... teda pokud se nejedna o multifunkcni multimedialni vyhledavac :)

Radek
co se tyce gifu, jde o to, ze je zatizen licenci. neni (nesmi?) tedy v opensource projektech podporovan.

>že to jde snad jen pomocí novější GD knihovny...

??? tak to mam nejake diry v informacich, to se ke me nedoneslo... kde jsi to cetl???

http://www.boutell.com/gd/
GD does not create GIF images.... Questions? READ THE MANUAL THOROUGHLY FIRST. Then, if your question is about building our distribution of gd, or about using gd with C, consider sending email to gd@boutell.com. DON'T ASK FOR GIF-BASED VERSIONS OF GD. HARANGUES ABOUT GIF WILL BE DELETED UNREAD. Thank you!

:-)))

m.s.
Já jsem taky zvědavej, co z toho někdy vyleze. Smysl zatím neprozradím (až později :-). Díky za nápady, ale ještě popřemýšlím, co s tím.

Zatím se mi zdá přes všechny omezení jako nejvhodnější řešení, že prostě nechám zobrazovat uživateli jen málo souborů v celé podobě, nic resizovat nebudu a budu spoléhat na to, že snad někdy přijde na trh poskytovatel rychlejších a levných připojení, takže by to nemuselo nikomu vadit. Pokud u nás ale bude ještě furt tak smrdět Telecom jako dnes, tak to odhaduji už tak na 22.století (to snad už ASDL bude relativně stát tolik jako dnešní drahý "internet zdarma") :-).

Téměř všechny zdroje z cizích serverů jsou "for non-commercial use" nebo k libovolnému užití. U těch, co nejsou, se zeptám a pak uvidím. Nějak to vyřeším. Ono není problém se servery mimo ČR, problémy jsou jenom u nás s malým výběrem dat (víc nepovím).

Stále jsem nevyřešil problém se spojením s jiným serverem. Potřebuju zjistit, zda určitý soubor na vzdáleném serveru existuje. Zatím jsem to zkoušel přes fopen(), funguje to, ale mám strach, jestli se čas odezvy serveru nepřipočítává k maximálnímu běhu skriptu. Když daný soubor třeba neexistuje, nevím, jak dlouho se snaží server o získání dat (otázka nejspíš pro admina). Nevím, jak používat fsockopen() (má jako nepovinný parametr timeout), zatím mi to nefunguje. Nezná to někdo?

Tomáš
Všechno vím, ale kvůli tomu nemůžu přešlapovat na místě až do června 2003. Já nevytvářím svoje GIFy, jen chci zmenšovat jinde vytvořené pro rychlejší načítání (snad), takže bych možná ten patent ani neporušoval (? - otázka pro právníka :-)).

Kdybychom se řídili přísně patentovými právy (i když je značná část víceméně nemorální), tak bychom museli zrušit nejméně tři čtvrtiny stránek na internetu. Vždyť ve světě je víc GIFů než mravenců :-)

GD ... například tady: http://php.weblogs.com/php_gd (to je pro Windowsy). Jinak těch stránek je víc, kde to lze najít.

Tomáš
Problem neni v gifech ale v algoritmu. K tomu, abys mohl zmensit GIF, musis ho nejdrive rozkomprimovat do bitmapy, provest zmenseni a pak zase zakomprimovat. Rozkomprimovani a zakomprimovani podleha patentovym pravum. V nasi zemepisne sirce te to nemusi trapit, ale v Americe si na takovyhle ptakoviny hraji. Treba jsem si napsal komprimacni system zalozeny na slovnikovem vyhledavani sekvenci, a ejhle, porusuju patent, protoze tenhle system je registrovany jako LZW komprese pouzivane v GIFech. No, jestli chces vydelat, muzes si nechat patentovat kresleni polygonu pomoci trojuhelniku (a v tu ranu lehnou vyrobci 3D hardware) nebo recept na knedlo zelo vepro :o)))
No v Americe jsou vůbec dost pošahaný. Tam už si patentujou i části lidských genů jako by to byly nějaký banány. Amerika je případ sám pro sebe. Díky bohu nastokrát, že jsem se narodil v Evropě :-)

LZW komprese je jen špička ledovce. Patenty jsou dobré snad jen k tomu, aby brzdily vývoj a aby lidi omezovaly, v případě USA vyjímečně snad i ohrožovaly. Patenty bych zrušil a používal bych jen ostatní autorské právo.