canvas教程

wxpython 中wxOGL的使用 第一篇

字号+ 作者:H5之家 来源:H5之家 2015-10-19 14:42 我要评论( )

前言:csdn的blog中有关wxpython中绘制2D图形之wxOGL库的使用方式的介绍很少,我在这里做一下总结,也用于我自己以后的回顾。 1.如何使用wxOGL? OGL库原本是用C

前言:csdn的blog中有关wxpython中绘制2D图形之wxOGL库的使用方式的介绍很少,我在这里做一下总结,也用于我自己以后的回顾。

 

1.如何使用wxOGL?

        OGL库原本是用C++语言写成的,但是wxpython对其进行了了相应扩展,这个库被wxpython收录进了wx.lib.ogl库 中,所以如果使用wxpyhon画图,首先要引入的除了wx库,还要有“import wx.lib.ogl as ogl”作为前提,后面的as ogl是为了代码简略而做的重命名(参考python import 相关文章或者直接参考mysql的重命名机制)。

 

2.开始绘图

        要绘图,首先要有“画布”,wxOGL中的画布是一个叫做ShapeCanvas的对象,此对象继承自“wx.ScrolledWindow”是带有滚动条的窗口,此对象可以用Sizer被用户添加到界面相应的位置。但是如果需要显示出滚动条,还需要设置有关滚动条的一些参数,这里不做介绍。

        有了画布,还需要有一个叫做Diagram(图表)的对象,这个对象用来所有添加进来的Shape(形状),接下来要做的,就是将canvas绑定到一个Diagram对象,diagram也绑定到已经这只的canvas,要说diagram有什么用呢?可以理解为,diagram可以实现undo/redo,用来控制整个图形界面的绘制流程。

3.初始化shape

        接下来就需要进行形状的初始化了,ogl中收录了所有你需要的2D图形,都是以***Shape结尾的类,亦可以自定义一些Shape,继承自ogl.DrawnShape。Shape对象就可以对图形的具体参数进行设置了,比如 下面代码:

circle = ogl.CircleShape(100.0) circle.SetX(75.0) circle.SetY(74.0) circle.SetPen(wx.RED_PEN) circle.SetBrush(wx.BLUE_BRUSH)

就是对某个圆形进行设置。当然,OGL的shape有很多,设置方法呢也都大同小异。需要具体对待了。

4.添加Shape

         有了shape,接下来就简单了,效用canvas的添加函数AddShape(circle),将图形添加进去就可以了。当然,diagram要调用showAll(True)。

 

以上就是一个最为简单Helloworld图形绘制的使用方式,我想在后面几篇中写一点稍微高级的用法,希望有时间来维护。

 


 

 

另附上几个官方资源

此传送门中收录了有关wxOGL的整体类介绍。

此传送门中有Object Graphics Library 3.0的介绍

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 打印html5中Canvas的方法

    打印html5中Canvas的方法

    2017-05-01 15:03

  • kphp框架分享:html5知识学习之html5中的canvas元素的简单介绍。

    kphp框架分享:html5知识学习之html5中的canvas元素的简单介绍。

    2017-04-28 17:02

  • 在Android中需要通过graphics类来显示2D图形

    在Android中需要通过graphics类来显示2D图形

    2017-04-27 11:00

  • +function 前面的那个加号是什么意思,跟js中的“

    +function 前面的那个加号是什么意思,跟js中的“

    2017-04-25 10:04

网友点评