wxpython_GDI设计.pdfVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
wxpython_GDI设计

wxpython 之 GDI (一) GDI (图形设备接口)是与图形界面交互的接口。它用于与图形设备如显示器、打印机或文件进行交 互。GDI 允许程序员在屏幕或打印机上显示数据,而不必关心特定设备的详细信息。GDI 可以使程序 开发隔离于硬件。 从程序员的角度来看,GDI 是一组用于处理图形的类和方法。GDI 包括二维矢量图形、字体和图像。 在开始绘制图形前,我们必须先创建一个设备上下文 (DC) 对象。在 wxPython 中,这个设备上下文 叫wx.DC。可以在其上绘制的图形和文本。它一般方式表示设备的数量。相同的代码片段可以用不同 种类的设备来实现。Wx.DC 不直接使用。相反,程序员应该选择派生类之一。每个派生的类的目的是 要在特定条件下使用。 • wxBufferedDC • wxBufferedPaintDC • wxPostScriptDC • wxMemoryDC • wxPrinterDC • wxScreenDC • wxClientDC • wxPaintDC • wxWindowDC Wx.ScreenDC 用于绘制在屏幕上的任意位置。Wx.WindowDC 绘制整个窗口中(仅 Windows ),这包括窗口装饰部分。Wx.ClientDC 用于绘制窗口的客户端区域。客户端区域的面 积不包括它的装饰品(标题和边框)。Wx.PaintDC 也是用于在客户端领域绘制。但wx.PaintDC 和 wx.ClientDC 之间有一个区别。w.PaintDC 应该在wx.PaintEvent 事件中使用。 Wx.ClientDC 不应该在wx.PaintEvent 中使用。Wx.MemoryDC 用于在位图上绘制图形。 Wx.PostScriptDC 用于写入任何平台上的 PostScript 文件。Wx.PrinterDC 用来访问打印机 (仅 Windows )。 绘制简单线条 我们的第一个示例在窗口的客户端区域绘制简单线条。 DrawLine (int x 1、 int y1、 int x 2、 int y2) 此方法绘制一条从第一个点到第二个。不包括第二点。 #!/usr/bin/python # -*- coding: utf-8 -*- import wx class DrawLineDemo(wx.Frame): def __init__(self, parent, title = draw a simple line demon): super(DrawLineDemo, self).__init__(parent, title = title, size = (250, 150) ) wx.FutureCall(2000, self.__DrawLine) self.Centre() self.Show() def __DrawLine(self): dc = wx.ClientDC(self) dc.DrawLine(50, 60, 190 ,60) if __name__ == __main__: app = wx.App() DrawLineDemo(None) app.MainLoop() 我们在窗口显示出来2 秒后,画一条线 wx.FutureCall(2000, self.DrawLine) 在创建窗口后,我们调用 DrawLine() 方法。我们这样做,是因为在创建窗口时,它画过了。我们的 所有绘图都会因此丢失。在创建窗口后,我们可以用wx.FutureCa () 方法画线。 def DrawLine(self): dc = wx.ClientDC(self) dc.DrawLine(50, 60, 190, 60) 我们创建 wx.ClientDC 的设备上下文。唯一的参数是,我们想要绘制的窗口。在我们的例子中 self DrawLineDemo 实例的引用。我们调用设备上下文的DrawLine() 方法。此调用实际上是在 我们的窗口上绘制线条。 它是非常重要的是要了解以下的行为。如果我

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档