PHP GD: Как получить imagedata как двоичную строку?

Я использую решение для сборки файлов изображений в zip и потоковой передачи его в приложение browser / Flex. (ZipStream Пол Дункан, http://pablotron.org/software/zipstream-php/ ).

Просто загрузка файлов изображений и их сжатие отлично работают. Вот ядро ​​для сжатия файла:

// Reading the file and converting to string data $stringdata = file_get_contents($imagefile); // Compressing the string data $zdata = gzdeflate($stringdata ); 

Моя проблема в том, что я хочу обработать изображение с помощью GD перед его сжатием. Поэтому мне нужно решение для преобразования данных изображения (imagecreatefrompng) в строковый формат данных:

 // Reading the file as GD image data $imagedata = imagecreatefrompng($imagefile); // Do some GD processing: Adding watermarks etc. No problem here... // HOW TO DO THIS??? // convert the $imagedata to $stringdata - PROBLEM! // Compressing the string data $zdata = gzdeflate($stringdata ); 

Любые подсказки?

Solutions Collecting From Web of "PHP GD: Как получить imagedata как двоичную строку?"

Один из способов – показать GD для вывода изображения, а затем использовать буферизацию PHP для ее записи в строку:

 $imagedata = imagecreatefrompng($imagefile); ob_start(); imagepng($imagedata); $stringdata = ob_get_contents(); // read from buffer ob_end_clean(); // delete buffer $zdata = gzdeflate($stringdata); 
 // ob_clean(); // optional ob_start(); imagepng($imagedata); $image = ob_get_clean();