OK, for a quick fix I rewrote it to output the image data to temporary files (in the full script there's an image for each of the CMY layers) and then write those out to stdout.
I couldn't work out from Image::Magick how to get the binary data out using GetPixels to match the binary data that I got from writing out the files, at some point I'll go and ask the ImageMagick list and that will let me do without the temporary files.
Thanks for your replies, this one was a puzzler to me, but I'm no perl guru! This is a snippet of what worked for me:
...
binmode STDOUT;
$yellow->Write('gray:/tmp/yellow');
open(FIN,"</tmp/yellow") || die("cannot access file /tmp/yellow\n");
while (sysread FIN, $buffer, 4096) {
print $buffer;
}
close FIN;
print("\r");
...
|