ImageMagick のユーティリティを使用convert
して、生の画像バイトを PNG などの使用可能な画像形式に変換しています。私の生ファイルはコードによって生成されるため、ヘッダーはなく、純粋なピクセルのみです。
画像を変換するために、次のコマンドを使用しています。
$ convert -depth 1 -size 576x391 -identify gray:image.raw image.png
gray:image.raw=>image.raw GRAY 576x391 576x391+0+0 1-bit Gray 28152B 0.010u 0:00.009
幅は固定されており、私にはよく知られています。ただし、毎回ファイルサイズから画像の高さを評価する必要があり、面倒です。
高さが指定されていない場合、または間違った高さが指定されている場合、ユーティリティは次のようになります。
$ convert -depth 1 -size 576 -identify gray:image.raw image.png
convert-im6.q16: must specify image size `image.raw' @ error/gray.c/ReadGRAYImage/143.
convert-im6.q16: no images defined `image.png' @ error/convert.c/ConvertImageCommand/3258.
$ convert -depth 1 -size 576x390 -identify gray:iphone.raw iphone.png
convert-im6.q16: unexpected end-of-file `image.raw': No such file or directory @ error/gray.c/ReadGRAYImage/237.
convert-im6.q16: no images defined `image.png' @ error/convert.c/ConvertImageCommand/3258.
ファイル/ブロブのサイズに基づいて画像の高さを自動的に検出する方法はありますか?