there is a bug with .png's in page(1) and png(1)
hget http://plan9.escet.urjc.es/iwp9/banner.png | page
hget http://plan9.escet.urjc.es/iwp9/banner.png | png
(note you wont see the bug if you're not using a 32bpp display)
this doesn't happen in abaco because it doesn't draw the image that png(1)
outputs directly on the screen, it first draws it on a RGB24 image
and then draws that image on the screen
// fd is png(1)'s stdout
i = readimage(display, fd, 1);
i2 = allocimage(display, i->r, RGB24, 0, DNofill);
draw(i2, i2->r, display->black, nil, ZP);
draw(i2, i2->r, i, nil, i->r.min);
freeimage(i);
// now i2 can be draw correctly on the screen
this is not a patch, because I don't know wether png(1) should output
an image that can be draw directly on the screen or page and png (without -d)
should use 2 images.