Q100707: イメージマネージャにイメージをインポートするときに発生する「イメージの作成に失敗しました」というエラーを解決する

まとめ

Mariで「イメージの作成に失敗しました」というエラーメッセージが表示されるのは、サイズが大きすぎる画像をインポートしようとした場合です。Mari Mari現在のイメージマネージャのファイルサイズ制限は、2GBから1バイトを引いた値です。この記事では、このエラーメッセージが表示される理由と、 Mariに正常にインポートできるように画像のサイズを縮小する方法について説明します。

詳細情報

Mariの現在のイメージマネージャのファイルサイズ制限は、2GB から 1 バイトを引いたサイズです。つまり、2GB 以上の画像はイメージマネージャに正常にインポートされず、「イメージの作成に失敗しました」というエラーメッセージが表示されます。


画像 1: 「イメージの作成に失敗しました」というエラー メッセージ。

ほとんどの画像ファイル形式は画像を圧縮するため、ファイルエクスプローラーでサイズを確認すると、インポートしようとしている画像が2GB未満に見える場合があります。しかし、 Mariインポート時にすべての画像を抽出するため、2GB未満に見える画像ファイルでも、抽出後は実際には2GBよりもサイズが大きくなる可能性があります。

2GBのハードキャップは、 Mariで使用されるアプリケーション開発フレームワークであるMariの現在のバージョンによる制限です。ただし、QT 6以降では、イメージをパッケージ化するために使用されるQTコンテナには実質的に制限がありません。そのため、 Mari最終的にQT 6にアップグレードされた際には、イメージマネージャのファイルサイズ制限の引き上げが検討される予定です。

この機能強化は以前に社内データベースに記録されており、次の ID を使用して今後のリリース ノートで検索できます。

ID 303634 - Mari 2^31 バイトを超えるコンテナをサポートする必要があります

2GB制限を回避する

画像をインポートするには、画像編集ソフトウェアで画像サイズを縮小する必要があります。縮小方法はいくつかあります。

  • 一つ目の方法は、アルファチャンネルを削除することです。アルファチャンネルには透明度データが保存されますが、画像に透明度がない場合、アルファチャンネルは不要になります。アルファチャンネルを削除すると、非圧縮画像のサイズが1/4に縮小されます。

  • 画像に透明データが含まれており、アルファチャンネルを維持する必要がある場合は、画像の解像度またはビット深度を下げることで、非圧縮画像のサイズを縮小できます。例えば、画像が16kビットの場合、画像編集ソフトウェアでこれを8kビットに変更できます。これにより画像のサイズが縮小され、 Mariに正常にインポートできるようになります。

  • 前述の通り、 Mariのイメージマネージャに正常にインポートできる画像の最大サイズは、現在 2GB から 1 バイトを引いたサイズです。多くの非圧縮画像はちょうど 2GB のサイズです。例えば、解像度 16K、色深度 16 ビットの RGBA 画像などがその例です。このような画像の場合、画像の解像度(高さと幅)を 1 ピクセル下げることで、 Mariのイメージマネージャで適切に処理できるサイズにファイルサイズを縮小できます。これは画像編集ソフトウェアで行うことができます。通常は、画像のサイズを変更し、単位としてピクセルを使用します。

  • もう一つの方法は、画像を小さなセクションに切り取ることです。これは特定の種類の画像にのみ有効です。例えば、タイルノードでタイル化可能な画像を使用する場合、この方法は理想的ではありません。ただし、例えば投影用に顔のテクスチャマップをインポートする場合、この方法を使用すると、元の品質を維持しながらテクスチャを正常にインポートできます。

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください