Używam rozwiązania do składania plików obrazów do pliku zip i przesyłania strumieniowego do przeglądarki/aplikacji Flex. (ZipStream, Paul Duncan, http://pablotron.org/software/zipstream-php/).PHP GD: Jak uzyskać Imagedata jako ciąg binarny?
Wystarczy załadować pliki obrazów i je skompresować działa dobrze. Oto rdzeń do kompresji pliku:
// Reading the file and converting to string data
$stringdata = file_get_contents($imagefile);
// Compressing the string data
$zdata = gzdeflate($stringdata);
Mój problem jest, że chcę, aby przetworzyć obraz przy użyciu GD przed ściskając go. Dlatego potrzebuję rozwiązania do konwersji danych obrazu (imagecreatefrompng) na format danych ciągów:
// 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);
Jakieś wskazówki?
ob_get_clean() zasadniczo wykonuje zarówno ob_get_contents() i ob_end_clean(), tak to rozwiązanie jest nieco bardziej eleganckie niż zaakceptowana powyżej odpowiedź. –