前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >wxPython绘图API

wxPython绘图API

原创
作者头像
软件架构师Michael
发布2022-11-23 09:25:03
8870
发布2022-11-23 09:25:03
举报
文章被收录于专栏:软件工程师Michael

简单介绍一个Pthon的绘图库wxPython.

GDI+(图形绘制接口),CoreGraphics和Cairo库形成wxPython绘图API的框架。wx.GraphicsContext是主要绘制对象,使用它来创建各种设备上下文对象。

wx.DC是一个抽象类。它的派生类用于渲染的图形和文字在不同的设备。关联设备类 -

  • wx.ScreenDC − 使用它描绘在屏幕上,而不是一个单独的窗口。
  • wx.ClientDC − 使用它描绘在窗口(无边框等装饰的一部分)的客户区域,但不从wxPaintEvent内使用它。
  • wx.PaintDC − 使用它描绘在窗口的客户区域,但只能从wxPaintEvent内。
  • wx.WindowDC − 使用它描绘的窗口,包括装饰的整个区域。这可能不提供对非Windows平台。

wxPython中的绘图API提供不同的功能绘制形状,文字和图像。需要绘制用途,如颜色,画笔,刷子和字体的对象也可以使用GDI类构造。

代码实例:

代码语言:javascript
复制
import wx


class Mywin(wx.Frame):

    def __init__(self, parent, title):
        super(Mywin, self).__init__(parent, title=title, size=(500, 300))
        self.InitUI()

    def InitUI(self):
        self.Bind(wx.EVT_PAINT, self.OnPaint)
        self.Centre()
        self.Show(True)

    def OnPaint(self, e):
        dc = wx.PaintDC(self)
        brush = wx.Brush("white")
        dc.SetBackground(brush)
        dc.Clear()

        # dc.DrawBitmap(wx.Bitmap("python.jpg"), 10, 10, True)
        color = wx.Colour(255, 0, 0)
        b = wx.Brush(color)

        dc.SetBrush(b)
        dc.DrawCircle(300, 125, 8)
        dc.SetBrush(wx.Brush(wx.Colour(255, 255, 255)))
        dc.DrawCircle(300, 125, 5)

        font = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
        dc.SetFont(font)
        dc.DrawText("Hello wxPython", 200, 10)

        pen = wx.Pen(wx.Colour(0, 0, 255))
        dc.SetPen(pen)
        dc.DrawLine(200, 50, 350, 50)
        dc.SetBrush(wx.Brush(wx.Colour(0, 255, 0), wx.CROSS_HATCH))
        dc.DrawRectangle(380, 15, 90, 60)


if __name__ == '__main__':
    ex = wx.App()
    Mywin(None, 'wxpython test')
    ex.MainLoop()

运行效果如下;

wxPython绘图API
wxPython绘图API

【小结】

绘图的API非常多,需要靠平时的一点一滴的积累。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档