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
PHP a GD
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
PHP a GD
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- l_iNu$
- Začátečník

- Registrován: 01. pro 2005
Re: PHP a GD
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: PHP a GD
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.
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min