qml 2d 图像处理

qml绘图

参考:https://woboq.com/blog/animations-using-the-qtquick-canvas.htmlhtml

利用canvas+Context2D 能够绘制图形和图像。c++

可是效率不高,使用ShaderEffects 能够直接使用opengl绘图,可是比较麻烦,具体之后再研究git

https://woboq.com/blog/gpu-drawing-using-shadereffects-in-qtquick.htmlcanvas

 

qml和c++交互

1)qml调用c++方法ui

qml调用c++仍是比较方便的,只须要将目标方法申明成公共槽,而后在qml上下文中嵌入该c++对象,则在任意qml模块中均可以引用该对象spa

参考:http://blog.csdn.net/foruok/article/details/32698603.net

2)qml + c++ signalorm

一旦c++对象添加到qml上下文中,则该对象的信号和public槽均可以在qml中直接引用,可是注意引用qml外部的信号须要使用connections:htm

http://doc.qt.io/qt-5/qml-qtqml-connections.html#details对象

https://huangong.gitbooks.io/art_as_programer/content/C_series_language/c++_signal_to_qml_slot_in_qt.html

http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html

qml transform:

transform对应的3种操做:缩放、旋转和transform,而且能够在一个transform钟绑定多个操做,好比缩放同时旋转对象.

和width,height同样,transform是item的预约义的属性,用于对item进行旋转、缩放和平移转换。

参考:

http://blog.csdn.net/yuxiaohen/article/details/8954682

 

GridLayout:

使用GridLayout须要import QtQuick.Layouts 1.3

 

透明窗口:

须要改变z序以及opacity属性

 

canvas imageloaded信号不触发问题

调用loadimage后imageloaded不触发,缘由不明。

 

context2d使用硬件加速窗口高度不能小于64

这个有点坑爹