What software can display raw bitmaps on Linux?
Turns out Gimp can do this. Just open the file as raw, and you get this helpful dialog that allows you to preview the image:
convert
from ImageMagick
E.g., an 8-bit 2x3 grayscale:
printf '\x00\xFF\x88\xFF\x00\xFF' > f
Then:
convert -depth 8 -size 3x2+0 gray:f out.png
Command explanation:
-depth 8
: each color has 8 bits-size 2x3+0
:2x3
image.+0
means starting at offset 0 in the file. If there are metadata headers, you can skip them with the offset.gray:f
: the input file isf
, and the format isgray
, as defined at http://www.imagemagick.org/script/formats.php This weird notation is used because ImageMagick usually determines the format from the extension, but here there is no extension.
The problem now is how to view the output. A direct eog
:
eog out.png
is not very good because the image is too small, and if you zoom in a lot eog
uses a display algorithm that mixes up pixels, which is better for most pictures, but not in our case. I found two possibilities:
gimp out.png
. Image editors must show every single pixel.convert out.png -scale 300x200 out2.png
.-scale
is needed instead of-resize
, since-resize
mixels pixels up much likeeog
by default.
Output:
RGB example:
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png
Tested on Ubuntu 16.04, ImageMagick 6.8.9.