У меня очень большое изображение в формате PNG, и я пишу метод для получения значения цвета в определенном (но меняющемся) пикселе этого изображения. Когда я создаю изображение с помощью:
$image = imagecreatefrompng('map.png');
Загружается ли в память все изображение (не идеально), или оно просто читает метаданные и готовится к другим вызовам, чтобы при вызове:
int imagecolorat ( resource $image , int $x , int $y )
Будет ли файл искать нужный пиксель или извлекать из памяти? Если я пытаюсь оптимизировать эту подпрограмму для повторного вызова, было бы лучше преобразовать нужные мне данные изображения в какой-нибудь необработанный двоичный формат и использовать поиск файлов? Я хотел бы избежать повторной загрузки всего файла в память, если это возможно.
Вам нужна большая php-память, чтобы играть с php-изображениями.
Используйте вместо этого graphicsMagick. http://www.graphicsmagick.org/
Других решений пока нет …