PHP a GD

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

PHP a GD

Příspěvek od arxeiss »

Zdravím, po nějaké době mám zase dotaz, jak si PHP alokuje pamět při práci s obrázky. Vím, že to převádí jako většina (všechny ?) editory do nekomprimované verze, podobné BMP, takže každý pixel zabere 3bajty, pokud se nepletu, takže obrázek 5184 * 3456 by měl zabrat cca 51MB což mi např Photoshop nebo IrfanView ukážou, ale když si vypíšu vyuižití paměti v PHP tak mi u tohoto obrázku napsal 81MB nebo 84 teď nevím...
Jak to tedy počítá v PHPčku, ať vím jaké maximální rozměry tam mám povolit...

Edit:\\ Tak zjevně jedne pixel zabere 4B, což ovšem stále nevyjde těch 87MB, teď jsem to zkusil znova...

Edit2:\\ Zkusil jsem vytvořit obrázek 8000*8000 což by mělo vycházet 256MB, podle TOHO ale zabere mi to 313.5MB
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Re: PHP a GD

Příspěvek od l_iNu$ »

GD si alokuje na pixel 32b + 8b na alpha kanál. Takže by to mělo být 8000×8000×5.
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: PHP a GD

Příspěvek od arxeiss »

Zatím jsi jediný kdo mi řekl proč je to tolik, ale přišel jsem na to, že pro výpočet paměti která GD si alokuje platí tyto pravidla:
JPG: šířka * výška * 5,2
GIF: šířka * výška * 2,2
PNG: šířka * výška * 8,2
Teda JPG jsem našel http://cz.php.net/manual/en/function.im ... ecolor.php Druhý komentář odvrchu, a GIF a PNG jsem si odvodil když mi to nevycházelo. Když vytvořím obrázek pomocí imagecreateTrueColor tak si alokuje vždy jako JPG a při ukládání do PNG myslím nealokuje více, to budu muset jěště zjisti.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“