このページについて

C

ImageFiles.MCU.resourceImagePixelFormat

画像アセットの優先ピクセル形式を設定します。

説明

このプロパティを使用すると、画像アセットのレンダリングに使用するピクセル形式を選択できます。Qt Quick Ultralite は、プラットフォーム設定および画像のプロパティに応じて、画像に最適なピクセル形式を自動的に選択します。画像のピクセル形式を変更することで、画像の出力品質、バイナリサイズ、およびアプリケーションのメモリ使用量のバランスを調整できます。

ビット深度が高いほど画質は向上しますが、そのような画像はアプリケーションバイナリに保存されるデータ量が多くなります。これはデバイスのフラッシュメモリの使用量に影響を与えるほか、resourceCachePolicyの設定によってはRAMの消費量にも影響します。一方、ビット深度を低くすると画質は低下しますが、バイナリサイズやメモリ使用量への影響は小さくなります。

注: RGB332ピクセル形式の画像は 、ハードウェアアクセラレーションを使用してレンダリングされません。これにより、レンダリング速度(1秒あたりのフレーム数)の面で、アプリケーションのパフォーマンスが最適でなくなる可能性があります。

SpriteLayerImageLayer 、およびItemLayer といったQMLタイプを使用する場合、使用するレイヤーに応じて、画像のピクセル形式を選択する必要がある場合があります。 特定のプラットフォーム(RH850など)では、スプライトレイヤーにおいて、すべてのアイテムおよび画像レイヤーで互換性のあるピクセル形式が要求されます。不透明な画像を16ビットのアイテムレイヤーで表示する場合、その画像に32ビットの色深度を使用する必要はありません。

このプロパティを使用すると、画像に最適なピクセル形式を設定できます。選択したピクセル形式は、画像の内容と一致している必要があります。たとえば、アルファチャンネルを持つ画像には、RGB888 形式を選択することはできません。

RGB888RLEXRGB8888RLE 、およびARGB888RLE の各ピクセル形式は、ロスレスランレングス符号化(RLE)圧縮アルゴリズムを使用する画像専用です。リソース圧縮を使用する画像とは異なり、これらの画像は追加のストレージを必要とせず、レンダリング中にオンザフライでデコードされます。

AutomaticCompressedLossless ピクセル形式では、Resource Compilerが、画像の内容(不透明または透明)およびプラットフォームのデフォルト値(MCU.Config.platformAlphaCompressedLosslessResourcePixelFormatMCU.Config.platformOpaqueCompressedLosslessResourcePixelFormat)に基づいて、ロスレス圧縮用の形式を自動的に選択できます。

注:RGB888 は現在、XRGB8888 と同じ方法で実装されています(リソースは 32 ビットです)。

使用方法

このプロパティは、その親ノードが受け入れられるあらゆるコンテキストで受け入れられます。引数として文字列を受け取り、デフォルト値は"Automatic" です。

利用可能なオプションは次のとおりです。

  • "XRGB8888"
  • "RGB888"
  • "RGB565"
  • "RGB332"
  • "ARGB8888"
  • "ARGB4444"
  • "Alpha8"
  • "RGB888RLE"
  • "XRGB8888RLE"
  • "ARGB8888RLE"
  • "AutomaticCompressedLossless"
  • "Automatic"

コード例:

ImageFiles {
    MCU.resourceImagePixelFormat: "RGB332"
}

注: MCU.Config で以下のように定義されている場合、この プロパティQmlProject ファイル内のすべての画像リソースに適用することもできます:

MCU.Config {
    resourceImagePixelFormat: "RGB332"
}

導入時期

このプロパティは、QmlProject API 1.3 で導入されました。

QUL_RESOURCE_IMAGE_PIXEL_FORMATも参照してください

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。