0

Magick++ を使用していくつかの画像をロードしています。すべてのイメージ ロードで PhysFS をラップしたいので、ファイル パスではなく BLOB でイメージをロードする必要がありました。

このコード:

    Magick::Image test("path/to/some.png");

問題なく動作します。

ただし、ブロブを実行すると、例外が発生します。

    PhysFS::ifstream img ("path/to/some.png");
    Magick::Blob blob( img.rdbuf(), img.length() );
    Magick::Image test(blob);

スローされる例外は次のとおりです。

タイプ Magick::ErrorMissingDelegate のキャッチされない例外で終了します この画像形式のデコードデリゲートはありません `' @ error/blob.c/BlobToImage/350

ブロブがファイルと同じサイズであることを確認しました。だから私はそれをメモリに読み込んでいると確信しています。

標準ライブラリ ifstream を使用して std::ios::binary を設定しようとしましたが、問題は残ります。

4

1 に答える 1