1

メモリ バッファーにビッグ エンディアンの 10 ビット DPX イメージを生成するライブラリがあります。ただし、これは生の 10 ビット RGB データであり、ヘッダーはありません。このデータを次のようなインスタンスにロードしようとしていますMagick::Image:

Magick::Blob blob(dataBuffer, dataBufferSize;
image.read(blob, Magick::Geometry(width, height), 10 /*bits*/, "DPX");

ただし、これにより次の例外がスローされます。 Magick: Improper image header ()

生のDPXをにロードすることは可能Magick::Imageですか?

4

2 に答える 2

1

あなたの答えは良いものではないと思います。それは偶然に働いています。BLOB データは、DPX 以外の形式である可能性があります。'SDPX' (サポートされていない形式指定) を指定すると、ファイル形式の検出が自動的に機能し、正しい形式を選択できるようになりました。

使用する

enter code herMagick::Blob blob(dataBuffer, dataBufferSize);
image.read(blob);

それで十分なはずです。ほとんどの画像ファイル形式では、形式や深さを指定する必要はありません。

于 2013-02-17T16:24:40.227 に答える