qml学习--------------图形的变换
2015-09-23 13:21
387 查看
qml也能像qt 中的QPainter一样,支持多种图形变换,比如:tranlsate() , rotate() , scale() , shear()等。
要注意的就是translate使用的原点是当前的原点,所以在使用后最后把它平移到以前的原点去。
下面就通过一个具体的例子学习:
要注意的就是translate使用的原点是当前的原点,所以在使用后最后把它平移到以前的原点去。
下面就通过一个具体的例子学习:
import QtQuick 2.2 Canvas{ width: 480; height: 640; contextType: "2d"; property var comicRole:"icon1.jpg"; onPaint: { context.lineWidth = 2; context.strokeStyle = "blue"; context.fillStyle = Qt.rgba(0.3 , 0.5 , 0.7 , 0.5); context.save(); context.translate(width/2 , height/2); context.drawImage(comicRole , -100 , -100 , 200 , 200); context.restore(); context.save(); context.translate(width/2 , 0 ); context.drawImage(comicRole , 0 ,0 , 200 , 200) context.restore(); context.save(); context.translate(width/2 , 0); context.shear(- 0.6 , 0); context.drawImage(comicRole , - 100 , 0 , 200 , 200); context.restore(); context.save(); context.translate(0 , height/2); context.shear(0.3 ,0); context.rotate(Math.PI /3); context.drawImage(comicRole , 0 , -100 , 200 , 200); context.restore(); context.save(); context.translate(width/2 , height/2); context.rotate(Math.PI /2); context.drawImage(comicRole , 100 , -100 , 200 ,200); context.restore(); context.save(); context.setTransform(1.2, 0.5 , 0 , 0.7 , width - 100 , height - 120); context.drawImage(comicRole , 0,0, 68, 100); context.restore(); } Component.onCompleted: loadImage(comicRole); onImageLoaded: requestPaint(); }
相关文章推荐
- java输入的几种方式 转
- 初探 iOS8 中的 Size Class
- struct和typedef struct
- [原]打造Python开发环境之初篇
- 书法2
- nginx解析php请求为404
- EditText属性
- BLE应用
- Python的Urllib库详细教程
- 不要问用户想要什么!用户访谈3基本问题,致产品经理
- tomcat解决多个项目冲突
- Delphi图片格式判断
- C++初学者之RTTI
- Resource .NET 3.0.5052 资源档编辑器(.NET资源修改器)
- [LeetCode]Delete Node in a Linked List
- Linux-作业
- FramentTabHost使用
- GA-MicroSimulation 作业区优化算法
- zabbix自动发现实现批量监控docker状态
- Grunt学习笔记之Gruntfile中任务的配置