qml 2d 图像处理

qml绘图

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

利用canvas+Context2D 可以绘制图形和图像。

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

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

 

qml和c++交互

1)qml调用c++方法

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

参考:http://blog.youkuaiyun.com/foruok/article/details/32698603

2)qml + c++ signal

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

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.youkuaiyun.com/yuxiaohen/article/details/8954682

 

GridLayout:

使用GridLayout需要import QtQuick.Layouts 1.3

 

透明窗口:

需要改变z序以及opacity属性

 

canvas imageloaded信号不触发问题

调用loadimage后imageloaded不触发,原因不明。

 

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

这个有点坑爹

 

 

 

转载于:https://my.oschina.net/u/584525/blog/860150

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值