wxPython – 绘图API
GDI +(图形绘制接口)、 CoreGraphics 和 Cairo库 构成了wxPython中绘制API的框架。wx.GraphicsContext是主要的可绘制对象,使用它可以创建各种设备上下文对象。
wx.DC是一个抽象的类。它的派生类被用来在不同的设备上渲染图形和文本。设备上下文类是–
- wx.ScreenDC – 使用它来在屏幕上作画,而不是在单个窗口上作画。
-
wx.ClientDC – 使用它在窗口的客户端区域(没有边框和其他装饰的部分)作画,但不要在wxPaintEvent中使用它。
-
wx.PaintDC – 使用它在窗口的客户端区域上作画,但 只能 从wxPaintEvent中使用。
-
wx.WindowDC – 使用此功能在窗口的整个区域上绘画,包括装饰物。这在非Windows平台上可能无法使用。
wxPython的绘图API提供了绘制形状、文本和图像的不同功能。绘图所需的对象,如颜色、笔、画笔和字体,也可以使用GDI类来构建。
wx.Colour类
颜色对象代表RGB(红、绿、蓝)强度值的组合,每一个都在0-255的范围内。有一些预定义的颜色对象,如
- wxBLACK
- wxBLUE
- wxCYAN
- wxGREEN
- wxYELLOW
- wxLIGHT_GREY
- wxRED
- wxWHITE
具有自定义RGB值组合的颜色形成 wx.Colour对象。
wx.Pen类
笔对象决定了图形形状的颜色、宽度和样式,如线、矩形、圆等。
预定义的笔对象 有
wxBLACK_DASHED_PEN
wxBLACK_PEN
wxBLUE_PEN
wxCYAN_PEN
wxGREEN_PEN
wxYELLOW_PEN
wxGREY_PEN
wxLIGHT_GREY_PEN
wxMEDIUM_GREY_PEN
wxRED_PEN
wxTRANSPARENT_PEN
wxWHITE_PEN
预定义的笔的样式 有
wx.SOLID
wx.DOT
wx.LONG_DASH
wx.SHORT_DASH
wx.DOT_DASH
wx.TRANSPARENT
wx.Brush类
刷子是另一个基本的图形对象,需要用来填充诸如矩形、椭圆、圆等形状的背景。
一个自定义的刷子对象需要wx.Colour和刷子样式参数。下面是一个预定义画笔样式的列表—
wx.SOLID
wx.STIPPLE
wx.BDIAGONAL_HATCH
wx.CROSSDIAG_HATCH
wx.FDIAGONAL_HATCH
wx.CROSS_HATCH
wx.HORIZONTAL_HATCH
wx.VERTICAL_HATCH
wx.TRANSPARENT
wxPython有许多函数可以方便地绘制不同的形状、文字和图像。
S.N. | 函数和描述 |
---|---|
1 | DrawRectangle() 绘制一个指定尺寸的矩形 |
2 | DrawCircle() 以给定的点为中心和半径画一个圆。 |
3 | DrawEllipse() 以给定的x和y半径画一个椭圆 |
4 | DrawLine() 在两个wx.Point对象之间画一条线。 |
5 | DrawBitmap() 在给定的位置绘制一个图像 |
6 | DrawText() 在指定的位置上显示给定的文本 |
例子
上述函数在下面的例子中实现,使用了笔、刷子、颜色和字体对象。
完整的代码如下
上述代码产生了以下输出 —