Autor Zpráva
ts_istudio
Profil
Dohadujeme se, kolik přesně paměti potřebuje fce imagecopyresampled. Hledal jsem a nenašel. Předpokládám, že to bude lineárně závislé na rozměrech a barevné hloubce obrázku, ale nemám jak to odzkoušet.
Joker
Profil
ts_istudio:
Dohadujeme se, kolik přesně paměti potřebuje fce imagecopyresampled.
Funkce samotná asi moc ne, největší problém je, kolik paměti zaberou ty obrázky (zdrojový a výstupní).

Před (delším) časem jsem dělal nějaké testy na WebZdarma a tamní memory limit 48MB (jestli tehdy nebyl nižší, ale asi ne) stačil tak na obrázky v nižších jednotkách megapixelů, na to co produkují moderní digitály ne.
DJ Miky
Profil
Obecně se čistá paměť spočítá jako šířka[px] × výška[px] × bitová hloubka ÷ 8, tedy pro 24bitové (true color) obrázky jsou potřeba 3 bajty na každý pixel obrázku, pro průsvitné PNG to budou 4 bajty (24 bitů barvy + 8 bitů průsvitnost). Hodnotu je však potřeba vynásobit koeficientem kvůli režii, z komentářů na PHP.net lidem obvykle stačí 1,5–1,8× více. Z toho vychází ± 5 bajtů na pixel pro 24bitové obrázky, což je např. pro 1000×1000pixelový obrázek přibližně 5 MB paměti.

Nesmíš však zapomenout, že při provedení imagecopyresampled musíš mít v paměti jak původní, tak nový obrázek.
ts_istudio
Profil
ok, díky moc.
Alphard
Profil
Kalkulačka na www.dotsamazing.com/en/labs/phpmemorylimit, asi brzy nahradí rozbitý odkaz ve FAQ.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0