• Qt ImageProvider 的使用


    QQuickImageProvider 是一个可以支持在QML中使用 qpixmap 和 图片加载线程的类。

      它支持在qml中使用Image加载的高级特性, 包括

        使用 QPixmap 替代实际的image文件。

        在线程中异步加载图片。

    使用时, 首先使用QQmlEngine::addImageProvider 方法注册 ImageProvider, 并且指定前缀, 该前缀在qml中使用。如:
       engine->addImageProvider(QLatin1String("colors"), new ColorPixmapProvider);

    则在qml中使用图片时,语法如下: 

      Image { source: "image://colors/yellow" }

        其中 image:// 前缀表示 图片来自于 ImageProvider。 colors 表示指定前缀, 大小写无关。  而 yellow 是图片字符串, 在

    requestPixmap(Image  texture)方法中, 作为string类型的id传入, 指定相应图片。

      QPixmap QQuickImageProvider::​requestPixmap(const QString & id, QSize * size, const QSize &requestedSize)

    的参数意义:

      id 用于在qml中使用字符串指定相应图片。

      size 必须填充为 图片的真实尺寸。

      requestedSize 由qml传入,表示实际加载的图片大小, 用像素数表示, 不超过1024*1024.

      如果 requestedSize 小于size, 图片会缩小; 如果图片是 不能缩放的, 目前仅jpeg类型,则图片甚至无法被加载。 如果只有长或者宽被指定, 则另外一个数值会按比例计算以保持图片实际长宽比。 改变该值导致图片被重新加载, 如果是网络图片, 还会重新下载。   如果把改属性设置为 undefined, 则该值会被设定为图片实际大小。

  • 相关阅读:
    纯线性同余随机数生成器
    读书笔记之:C语言参考手册(第5版)
    读书笔记之:C语言函数库
    读书笔记之:C/C++程序员实用大全—C/C++最佳编程指南
    C++中重要关键字总结
    读书笔记之:C++参考大全
    读书笔记之:C++大学教程(第2版)
    C语言中函数参数入栈的顺序
    ANSI设备驱动器
    可以输出自己的源程序代码(quine)
  • 原文地址:https://www.cnblogs.com/aslistener/p/4478230.html
Copyright © 2020-2023  润新知