C
Qul::PlatformInterface::ImageDecoder Class
class Qul::PlatformInterface::ImageDecoderImageDecoder クラスは、カスタム画像デコーダを実装するための抽象 API を提供します。詳細...
| Header: | #include <platforminterface/imagedecoder.h> |
| Since: | Qt Quick Ultralite (Platform) 2.7 |
パブリック型
(since Qt Quick Ultralite (Platform) 2.7) class | RequestDataCallback |
パブリック関数
| virtual | ~ImageDecoder() |
(since Qt Quick Ultralite (Platform) 2.12.1) virtual int16_t | bytesPerLine() const |
| virtual int | decodeImage(Qul::PlatformInterface::ImageDecoder::RequestDataCallback &callback, unsigned char *outbuffer, uint32_t outbufferSize, Qul::PixelFormat pixelFormat, uint32_t requiredBytesPerLine) = 0 |
| virtual bool | imageInformation(Qul::PlatformInterface::ImageDecoder::RequestDataCallback &callback, int16_t *width, int16_t *height, Qul::PixelFormat *actualPixelFormat, Qul::PixelFormat optimalOpaquePixelFormat, Qul::PixelFormat optimalAlphaPixelFormat) = 0 |
詳細な説明
カスタム画像デコーダーを作成することで、あらゆる画像形式を QML 画像として使用できるようになります。Qt Quick Ultralite エンジンは、登録されているすべての画像デコーダーをチェックし、その画像をデコードできるものを探します。
「画像デコーダの統合」も参照してください 。
メンバ関数のドキュメント
[virtual noexcept] ImageDecoder::~ImageDecoder()
画像デコーダのインスタンスを破棄します。
[virtual, since Qt Quick Ultralite (Platform) 2.12.1] int16_t ImageDecoder::bytesPerLine() const
出力バッファのピクセルあたりのバイト数を返します。
画像デコーダの幅のアライメントがMCU.Config.platformPixelWidthAlignment 以外の場合、この関数を再実装することができます。
デフォルトの実装では0 が返され、この場合はMCU.Config.platformPixelWidthAlignmentが使用されます。
この関数は、Qt Quick Ultralite (Platform) 2.12.1 で導入されました。
[pure virtual] int ImageDecoder::decodeImage(Qul::PlatformInterface::ImageDecoder::RequestDataCallback &callback, unsigned char *outbuffer, uint32_t outbufferSize, Qul::PixelFormat pixelFormat, uint32_t requiredBytesPerLine)
画像データを、指定されたピクセル形式にデコードします。
画像データはcallback から読み込まれ、指定されたoutbuffer およびoutbufferSize にデコードされる必要があります。要求されたpixelFormat は、imageInformation メソッドを呼び出すことで事前に決定されています。デコーダは、requiredBytesPerLine が満たされるよう確保しなければならず、必要に応じて適切な位置合わせで行をコピーする必要があります。
成功した場合は0 を返し、失敗した場合は1 を返す必要があります。
[pure virtual] bool ImageDecoder::imageInformation(Qul::PlatformInterface::ImageDecoder::RequestDataCallback &callback, int16_t *width, int16_t *height, Qul::PixelFormat *actualPixelFormat, Qul::PixelFormat optimalOpaquePixelFormat, Qul::PixelFormat optimalAlphaPixelFormat)
画像のプロパティを検査します。
画像データを完全にデコードする前に、QMLエンジンは画像に関するプロパティを要求します。callback は、この関数がデータを読み取るためのインターフェースを提供します。データを検査する際は、まず画像の種類を検出する必要があります。データがデコーダでデコードできない場合、関数は直ちにfalse を返すことができます。
引数のポインタには、width およびheight を返す必要があります。optimalOpaquePixelFormat およびoptimalAlphaPixelFormat は、デコードされた画像の最適なピクセル形式を指定します。デコーダの機能と実際の画像データに応じて、actualPixelFormat には、デコーダが提供可能な結果のピクセル形式を設定する必要があります。
関数が成功した場合は `True` が返され、失敗した場合は `false` が返されます。
ImageDecoder::RequestDataCallbackも参照してください 。
特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。