このページでは

C

Qul::PlatformInterface::Texture Class

class Qul::PlatformInterface::Texture

テクスチャに関する情報を格納するクラス。詳細...

Header: #include <platforminterface/texture.h>
Since: Qt Quick Ultralite (Platform) 1.5

パブリック型

(since Qt Quick Ultralite (Platform) 1.5) enum Flags { NoTextureFlags, Swizzled, PartiallyOverlaps, NeedsCachedLoadFromSlowMemory, PaddedWithTransparency, …, PreRotated }

パブリック関数

Texture(const unsigned char *data, Qul::PixelFormat format, int flags, int16_t width, int16_t height, int8_t bitsPerPixel, int16_t bytesPerLine, const Qul::Private::TextureLayout *textureLayout = NULL)
int8_t bitsPerPixel() const
int16_t bytesPerLine() const
(since Qt Quick Ultralite (Platform) 1.5) const unsigned char *data() const
int flags() const
Qul::PixelFormat format() const
int16_t height() const
(since Qt Quick Ultralite (Platform) 1.9) Qul::PlatformInterface::PixelDataPointer pixelData(int16_t x, int16_t y) const
(since Qt Quick Ultralite (Platform) 1.7) Qul::PlatformInterface::Size size() const
int16_t width() const

詳細な説明

このクラスは、テクスチャ(高速表示に適した形式で表現された画像データ)をレンダリングするために必要な値を含んでいます。これらの値には、data ポインタ、format 指定子、textureflags 、pixelformatwidthheightbitsPerPixel 、およびbytesPerLine が含まれます。

たとえば、データがリソースキャッシュ内に存在する場合など、テクスチャインスタンスは無効になる可能性があり、関数呼び出しの存続期間を超えてコピーしたり保持したりしてはなりません。また、Qul::SharedImage::texture() を呼び出すと、同じ関数内の既存のテクスチャインスタンスが無効になる場合もあります。

メンバ型のドキュメント

[since Qt Quick Ultralite (Platform) 1.5] enum Texture::Flags

この列挙型は、さまざまなテクスチャのプロパティを指定します。

定数説明
Qul::PlatformInterface::Texture::NoTextureFlags0x00フラグは設定されていません。
Qul::PlatformInterface::Texture::Swizzled0x01テクスチャデータはスウィズル処理されており、つまり非線形に配置されているため、デコードにはハードウェアのサポートが必要です。このフラグは、Renesas RH850 など、スウィズル処理されたテクスチャ形式をサポートしている特定のプラットフォームでのみ使用されます。
Qul::PlatformInterface::Texture::PartiallyOverlaps0x02テクスチャデータが別のテクスチャと部分的に重なっている可能性があります。これは、スペースを節約するために画像が複数のサブ画像に分割された場合に発生することがあります。 不透明領域をまたぐ分割があり、かつ画像の回転や拡大縮小が行われる場合、バイリニアフィルタリングによって正しい視覚的出力が得られるよう、各サブ画像は周囲の内容でパディングされることがあります。
Qul::PlatformInterface::Texture::NeedsCachedLoadFromSlowMemory0x04この値はQt Quick Ultralite によって内部的に使用されるものであり、プラットフォームの実装では無視してもかまいません。これは、テクスチャを使用する前に、フラッシュメモリなどの低速なメモリから、より高速なメモリへコピーする必要があることを示しています。
Qul::PlatformInterface::Texture::PaddedWithTransparency0x08この値は、テクスチャに幅が少なくとも 1 ピクセルある透明な境界がパディングされることを指定します。これは、画像を回転または拡大縮小する際に、バイリニアフィルタリングを使用して画像の端を透明に滑らかにフェードさせるために役立ちます。注:この透明なパディングは、width および height で指定されるテクスチャの境界の _外側_ にあります。
Qul::PlatformInterface::Texture::Rotated0x10この値は、実行時にテクスチャが回転されることを指定します。特定のプラットフォームでは、レンダリングプロセスを最適化するために、テクスチャが別の形式に変換されます。最適化は、ImageFiles.MCU.resourceOptimizeForRotationプロパティを持つリソースに対して設定され、そのリソース内のすべてのテクスチャに適用されます。
Qul::PlatformInterface::Texture::RawData0x20この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視してもかまいません。ピクセルデータは、ImageDecoder によってデコードされる未知の生形式で格納されています。このフラグはコアライブラリ部分によって設定されるものであり、変更してはなりません。
Qul::PlatformInterface::Texture::LoadFromFile0x40この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視しても構いません。ピクセルデータはテクスチャデータポインタには含まれていません。その代わりに、データポインタにはデータを取得するためのファイルに関する情報が含まれています。データを取得する唯一の方法はResourceCacheを経由することであり、これによりデコードされた画像データを保持するキャッシュされたアイテムが提供されます。
Qul::PlatformInterface::Texture::PreRotated0x80この値は、テクスチャがディスプレイの回転角度に合わせて事前に回転されていることを示します。この値はQt Quick Ultraliteによって内部的に使用されるものであり、プラットフォームの実装では無視しても構いません。カスタムペイントされたアイテムなど、テクスチャを手動で描画するアプリケーションでは、この事前回転を補正する必要がある場合もあります。

この列挙型は、Qt Quick Ultralite (Platform) 1.5 で導入されました。

Textureも参照してください

メンバ関数のドキュメント

Texture::Texture(const unsigned char *data, Qul::PixelFormat format, int flags, int16_t width, int16_t height, int8_t bitsPerPixel, int16_t bytesPerLine, const Qul::Private::TextureLayout *textureLayout = NULL)

テクスチャオブジェクトを作成します。

指定されたdataformatflagswidthheightbitsPerPixel 、およびbytesPerLine を持つテクスチャオブジェクトを作成します。

textureLayout の値は、フォールバックのDrawingEngine によって、変換された画像をブレンドするために使用されます。

int8_t Texture::bitsPerPixel() const

テクスチャの1ピクセルあたりのビット数を返します。

パディングのため、テクスチャのサイズは width * height * 8 * bitsPerPixel よりも大きくなる場合があります。

int16_t Texture::bytesPerLine() const

テクスチャの1行あたりのバイト数を返します。

これにはパディングも含まれるため、この値は `width` に 8 を掛けた値に `bitsPerPixel` を足した値よりも大きくなる場合があります。

[since Qt Quick Ultralite (Platform) 1.5] const unsigned char *Texture::data() const

テクスチャデータが格納されているメモリへのポインタを返します。

この関数は、Qt Quick Ultralite (Platform) 1.5 で導入されました。

int Texture::flags() const

Flags 列挙型のフラグを論理和(OR)で結合した結果を返します。

これらのフラグは、テクスチャに透明なパディングがあるかどうかなど、テクスチャの特別な機能を表します。

Qul::PixelFormat Texture::format() const

テクスチャデータのピクセル形式を返します。

int16_t Texture::height() const

テクスチャの高さをピクセル単位で返します。

[since Qt Quick Ultralite (Platform) 1.9] Qul::PlatformInterface::PixelDataPointer Texture::pixelData(int16_t x, int16_t y) const

x-pixel-offsetx および y-pixel-offsety から始まるテクスチャのピクセルデータの位置に関する正確な情報を返します。

テクスチャの 1 ピクセルあたりのビット数がバイト (8 ビット) の倍数でない場合、ピクセルx およびy の実際のデータは、完全なバイト境界ではなく、たとえばバイト 3 のビット 2 などの別の場所から始まる可能性があります。そのような場合、Qul::PlatformInterface::PixelDataPointer::bitOffset の戻り値は 0 以外になります。

一般に、ピクセルデータはバイトQul::PlatformInterface::PixelDataPointer::address +Qul::PlatformInterface::PixelDataPointer::bitOffset ビットの位置から始まります。

この関数は、ランレングスエンコードされたピクセル形式PixelFormat_RLE_ARGB32PixelFormat_RLE_ARGB32_PremultipliedPixelFormat_RLE_RGB32 、およびPixelFormat_RLE_RGB888 ではサポートされていません。

この関数は、Qt Quick Ultralite (Platform) 1.9 で導入されました。

[since Qt Quick Ultralite (Platform) 1.7] Qul::PlatformInterface::Size Texture::size() const

テクスチャのサイズをピクセル単位で返します。

この関数は、Qt Quick Ultralite (Platform) 1.7 で導入されました。

int16_t Texture::width() const

テクスチャの幅をピクセル単位で返します。

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