このページでは

C

Qul::PlatformInterface::ImageDecoder Class

class Qul::PlatformInterface::ImageDecoder

ImageDecoder クラスは、カスタム画像デコーダを実装するための抽象 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 ライセンスの下で利用可能です。
詳細はこちらをご覧ください。