Qt 画像フォーマット
Qt Gui のコア・ライブラリは、デフォルトで最も一般的なファイル形式の画像ファイルの読み書きをサポー トしています:PNG
JPEG
,BMP
,GIF
といくつかあります(参考:Reading and Writing Image Files )。Qt Image Formatsアドオンモジュールは、その他の画像ファイル形式をオプションでサポートします。
ファイルフォーマットのサポートは、Qt の画像入出力システムのプラグインを通して透過的に提供されます。そのため、このモジュールは独自の API を提供しません。代わりに、Qt の他の画像入出力と同じように、QImage::load() やQImage::save() からアクセスできます。また、より詳細な制御には、QImageReader とQImageWriter を使ってください。
画像入出力プラグイン
ファイルフォーマットの実際の符号化と復号化は、コーデック・ライブラリによって行われます。コーデックはQtまたはサードパーティのコードです。サードパーティのコーデックの場合、ビルド・プロセスはシステム・ライブラリの中からコーデックを探します。見つからない場合は、バンドルされているコピー(src/3rdparty
)を使用することになります。
形式 | 説明 | サポート | サードパーティーコーデック |
---|---|---|---|
HEIC | 高効率ビデオコーディング | 非対応 | |
- アップルのオペレーティングシステムでは | 読み書き | はい、OS内蔵 | |
ICNS | アップル・アイコン・イメージ | 読み取り/書き込み | 不可 |
JP2 | ジョイント・フォトグラフィック・エキスパート・グループ2000 | 読み書き | あり(バンドルされていない) |
- Appleオペレーティングシステム上 | 読み書き | OS内蔵 | |
MNG | 複数画像ネットワーク・グラフィックス | 読み込み | あり(バンドルされていない) |
TGA | Truevisionグラフィックス・アダプタ | 読み取り | いいえ |
TIFF | タグ付き画像ファイルフォーマット | 読み取り/書き込み | あり(バンドル) |
WBMP | ワイヤレスビットマップ | 読み書き | なし |
ウェブP | ウェブP | 読み書き | あり(バンドル) |
注: バンドルされているサードパーティコーデックの中には、メンテナンスが終了しているものもあります。これらは手動ビルドのためだけに提供されており、システムライブラリが利用できない場合のフォールバックとしては使用されません。
注意 : セキュリティ上の理由から、Qt 5.8 以降、Direct Draw Surface (DDS) ハンドラはデフォルトではビルドされません。このハンドラが必要な場合は、ソースプロジェクトからビルドしてください。
配置
ビルドされると、Qt Image Formats プラグインは、デフォルトのイメージフォーマットプラグインと一緒に、ランタイムプラグインディレクトリ(通常はplugins/imageformats
)にダイナミックライブラリとして配置されます。他のプラグインと同じように、ターゲットシステムにデプロイすることができます。
ライセンスと帰属
Qt Image Formats はThe Qt Company の商用ライセンスで利用できます。また、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 の下でも利用可能です。詳細はQt ライセンスを参照してください。
さらに、Qt Image Formats は、以下の寛容なライセンスの下、サードパーティモジュールを含む可能性があります:
libtiff ライセンス | |
BSD 3条項「新規」または「改訂」ライセンス |
セキュリティについて
これらのファイルフォーマットはめったに使用されないため、潜在的なセキュリティホールに対するコーデックのデバッグが十分に行われていない可能性があります。いつもそうであるように、制御されていないデータファイルをデコードするために使用される可能性のあるアプリケーションを作成する際には注意が必要です。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。