Autor Zpráva
disler
Profil
Zdravím,

prosím o radu, jak hromadně upravit fotografie do určitého rozměru (php, grafický program atd.), do eshopu potřebuji všechny fotografie v jednom rozměru třeba 640x480, fotografie nechci roztahovat ale doplnit po jejich obvodu bílé místo, jelikož mám různé rozměry (200x100, 500x400) fotek od klienta a jedná se o stovky fotek, tak bych rád alespoň většinu automaticky upravil doplněním bílé plochy.

Děkuji za každou radu.
margin
Profil *
Dávkové úpravy a konverze zvládá třebas IrfanView a XnView.
Rellik
Profil
Můžeš vyzkoušet program jednoho mého známého http://www.slunecnice.cz/sw/azazel-fotooptimizer/ - je to přímo dělané pro tyto účely... ;)
disler
Profil
Rellik:
Bohužel, tento program jsem nyní zkoušel a upravuje pouze velikost obrázku roztažením apod., nedovoluje zanechat obrázek v původních rozměrech a natáhnutí do požadovaného rozměru provést doplněním bílé barvy.
margin
Profil *
Oba mnou zmíněné programy to umí, kdyby sis nechal poradit, mohl jsi mít hotovo.
Rellik
Profil
disler:
Tak to mě mrzí. Myslel jsem, že to tak funguje, když mi o tom programu říkal.
Jinak nestačilo by ty fotky pouze zformátovat na stejný jeden rozměr? Doplňovat zbytečně bílé plochy mi nepřijde zrovna optimální řešení. Jinak v žádném editoru nebo prohlížeči jsem tuto možnost nikdy neviděl. Vždycky to zmenší nebo zvětší samotnou fotku se zachováním poměru stran. Ale třeba to umí ty programy jak píše [#2] margin...
Davex
Profil
margin:
třebas IrfanView a XnView
Ale pro komerční účely by se měla koupit licence.

disler:
Pokud ti nevadí práce v příkazové řádce, tak na hromadné zmenšování používám ImageMagick convert.
disler
Profil
margin:
Omlouvám se za pozdější odpověď, jel jsem od spodu se zkoušením, rád programy, které si doporučil vyzkouším. Děkuji za radu.
Sir Tom
Profil
disler:
Vyplnit bílým místem malé fotky do nějakého rozměru je blbost. Zbytečně tím zvýšíš velikost obrázku. Mně osobně by se určitě nelíbilo stahování obrázku 500x500, kde z toho 70 % je bílo. Stačí prostě použít pozicování, kdy obrázek napozicuješ na střed divu s bílým pozadím.
disler
Profil
Sir Tom:
Mě jde o to, že se mi vytvářejí miniatury (automaticky přes PHP z velké fotky) a vypadá to strašně, jelikož je každá fotka od zákazníka úplně jiná, jinak vyfocená, jednou s velkým bílím místem potom s malým okrajem, na výšku, na šířku apod. ostatně můžeš se podívat zde: http://www.levnedrevenehracky.cz/licence-krtecek/ nějaký nápad? Děkuji.
margin
Profil *
Pokud se to dělá v PHP, tak není problém fotku zmenšit na tak, aby nepřesáhla požadovanou výšku, ani šířku. Sice by se dala i v PHP doplnit bílá plocha, aby všechny fotky měly týž rozměr a velikost souboru tím příliš nenaroste, protože na jednobarevných plochách funguje komprese velice dobře, ale přece jen bude vhodnější nechat to na CSS a obrázek vycentrovat v blokovém odkaze, případně v DIVu.

Mimo téma, nepoužívej pro JPEG obrázky kvalitu 100, rozdíly mezi kvalitou 95 a 100 jsou minimální, ale velikost souboru je přibližně dvojnásobná.
Rellik
Profil
Myslím, že u těch fotek by stačilo pouze zachovat stejnou výšku. Ty focené na šířku by vyplnily celé okno a ty na výšku by byly umístěné ve středu okna. Stačí na to jednoduchá podmínka v php, kdy se porovnají délky stran a podle toho vykreslí. Vycentrování je už pak jednoduchá záležitost css. ;)
Joker
Profil
Rellik:
V PHP jsem ovšem narazil na problém, že převádění velkých fotek padalo na nedostatku paměti.
Což není zrovna ideální, pokud má jít o „BFU-friendly“ řešení, kdy uživatel jen nahraje fotky ze svého 18Mpix foťáku a web se má postarat o zbytek.

Docela se osvědčil IrfanView, široké možnosti nastavení, napoprvé to pár minut zabere, ale pak se už jen uloží a používá.
Pak to jde udělat tak, že IrfanView vyrobí „plnou velikost pro web“ (protože na webu by ani ty „velké“ fotky obvykle neměly mít velikost třeba 4000x3000px, pokud teda nejde o nějaký fotografický web, nebo recenze foťáků a podobně) a z toho se pak v PHP vyrobí náhledy.
Nebo druhá možnost je si v IrfanView rovnou vyrobit dva profily, jeden pro velké fotky a jeden pro náhledy.
Sir Tom
Profil
disler:
Pěkný web. :)
Pokud je každá fotka úplně jiná, tak asi nezbývá než každou fotku ručně upravit. Nějaké automatické úpravy pro hromadu fotek asi nebudou ideální, protože neexistuje jednota v upravovaných fotkách.
Joker
Profil
Sir Tom:
Nějaké automatické úpravy pro hromadu fotek asi nebudou ideální, protože neexistuje jednota v upravovaných fotkách.
V čem je problém?
Když políčka pro náhledy budu mít o velikosti třeba 200x150 px a nechám je dávkově zmenšit na maximální šířku 200 a maximální výšku 150 při zachování poměru stran, budou výsledné náhledy pro tu stránku bezproblémově použitelné.
Sir Tom
Profil
Joker:
V čem je problém?
Když políčka pro náhledy budu mít o velikosti třeba 200x150 px a nechám je dávkově zmenšit na maximální šířku 200 a maximální výšku 150 při zachování poměru stran, budou výsledné náhledy pro tu stránku bezproblémově použitelné.
Samozřejmě, já to ale myslel jinak. Mám-li obrázek produktu například dřevěná postavička na pružině, tak patrně budu chtít vytvořit náhled s detailem na postavičku - nikoliv na celou postavičku s pružinou. Tím pádem se tedy obrázek ořízne, kde ořez bude mít rozměry tebou popisované.
Narážel jsem také na to, že disler psal, že kolem produktu je na fotografii bílé místo. Pokud tedy mám obrázek 600x450, kde samotný produkt zabírá pouze 200x150, tak je lepší odříznout nepotřebné bílé místo a nikoliv celý obrázek zmenšovat.
Petr ZZZ
Profil
Reaguji na Sira Toma:
„Pokud tedy mám obrázek 600x450, kde samotný produkt zabírá pouze 200x150...“

...potom je obrázek chybně komponovaný. Správné by bylo veškeré místo využít. Potom lze náhled vyrobit prostým zmenšením originálu a není třeba přemýšlet nad výřezem.

Je vhodné si uvědomit, že uživatel rozkliknutím do větší verze obrázku neočekává to samé rozlišení, "obohacené" o nějaké prázdné okraje, nýbrž podrobnější obrazovou informaci. Dodává-li závadné fotky klient, pokusíme se ho vychovat – třeba tím, že náhledy, vyrobené věrným zmenšením originálu, budou nečitelné.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: