C
Qul::ImageProvider Struct
struct Qul::ImageProviderImageProvider クラスは、QML で画像要求をサポートするためのインターフェイスを提供します。詳細...
| Header: | #include <qul/imageprovider.h> |
| Since: | Qt Quick Ultralite 1.5 |
パブリック関数
| virtual Qul::SharedImage | requestImage(const char *uri, size_t uriLength) = 0 |
詳細説明
ImageProviderは、QMLアプリケーションで高度な画像読み込み機能を提供するために使用されます。
画像プロバイダを使用して画像を読み込むには、画像のURLに "image: "スキームを使用し、その後に画像プロバイダと要求された画像の識別子を記述します。例えば
Image { source: "image://myimageprovider/image.png" }これは、"myimageprovider "という名前の画像プロバイダによって画像を読み込む必要があり、読み込む画像の名前が "image.png "であることを指定します。 Qt Quick Ultraliteは、Qul::Application::addImageProvider()によって登録されたプロバイダに従って、適切な画像プロバイダを呼び出します。
注意: 識別子とURLの残りの部分は、QQuickImageProviderとは逆に、大文字と小文字を区別します。例えば、上のスニペットは "myimageprovider "という画像プロバイダから画像をロードすることを指定し、下のスニペットは "MyImageProvider "という画像プロバイダを使用します。さらに、下の例では2つの異なる画像("Image.png "と "image.png")をリクエストしています。
Image { source: "image://MyImageProvider/image.png" }
Image { source: "image://MyImageProvider/Image.png" }Qul::Application::addImageProviderも参照してください 。
メンバー関数ドキュメント
[pure virtual] Qul::SharedImage ImageProvider::requestImage(const char *uri, size_t uriLength)
uri およびuriLength の画像を返すには、このメソッドを実装する。
uri は、要求された画像ソースで、"image://"スキームとプロバイダ識別子を取り除いたものです。例えば、画像ソースが "image://myprovider/icons/home "の場合、与えられたuriは "icons/home "となります。
この関数は、非同期の読み込み操作を開始し、未完成の画像を返すかもしれません。その場合は、返す前にImage::beginWrite() をコールし、読み込みが終了したらImage::endWrite() をコールする。
注: Image::endWrite ()はスレッドセーフではありません。EventQueue を使用してイベントを送信し、イベントハンドラで endWrite() を呼び出します。
特定の Qt ライセンスの下で利用可能です。
詳細はこちら。