diff --git a/src/image.cpp b/src/image.cpp index 38c5bc3..3791883 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -73,7 +73,11 @@ void image::write(Image &image) string magick = image.image.magick(); std::transform(magick.begin(), magick.end(), magick.begin(), ::tolower); - cout << "Content-Type: image/" << magick << endl << endl; - cout.flush(); // We need to flush before we use /dev/stdout directly. - image.image.write("/dev/stdout"); + Magick::Blob res_buffer; + image.image.magick(magick); // force the same format + image.image.write(&res_buffer); + + cout << "Content-Type: image/" << magick << endl; + cout << "Content-Length: " << res_buffer.length() << endl << endl; + cout.write(static_cast(res_buffer.data()), res_buffer.length()); }