在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ wxPython繪圖API
wxPython GUI構(gòu)建工具wxFormBuilder
wxPython StaticText類
WxPython教程
wxPython可停靠窗口
wxPython ComboBox & Choice類
wxPython FlexiGridSizer布局
wxPython入門(Hello World)
wxPython RadioButton & RadioBox類
wxPython拖放
wxPython HTMLWindow類
wxPython ToolBar類
wxPython GridBagSizer布局
wxPython Dialog類
wxPython布局管理
wxPython TextCtrl類
wxPython開發(fā)環(huán)境安裝
wxPython Slider類
wxPython CheckBox類
wxPython Major類
wxPython GridSizer布局
wxPython事件處理
wxPython SplitterWindow類
Menu Item, Menu & MenuBar類
wxPython Button控件
wxPython StaticBoxSizer布局
wxPython Guage類
wxPython Frame類
wxPython多文檔界面
wxPython Panel類
wxPython BoxSizer布局
wxPython繪圖API

wxPython繪圖API

GDI+(圖形繪制接口),CoreGraphics和Cairo庫形成wxPython繪圖API的框架。wx.GraphicsContext是主要繪制對(duì)象,使用它來創(chuàng)建各種設(shè)備上下文對(duì)象。

wx.DC是一個(gè)抽象類。它的派生類用于渲染的圖形和文字在不同的設(shè)備。關(guān)聯(lián)設(shè)備類 -
  • wx.ScreenDC ? 使用它描繪在屏幕上,而不是一個(gè)單獨(dú)的窗口。

  • wx.ClientDC ? 使用它描繪在窗口(無邊框等裝飾的一部分)的客戶區(qū)域,但不從wxPaintEvent內(nèi)使用它。

  • wx.PaintDC ? 使用它描繪在窗口的客戶區(qū)域,但只能從wxPaintEvent內(nèi)。

  • wx.WindowDC ? 使用它描繪的窗口,包括裝飾的整個(gè)區(qū)域。這可能不提供對(duì)非Windows平臺(tái)。

wxPython中的繪圖API提供不同的功能繪制形狀,文字和圖像。需要繪制用途,如顏色,畫筆,刷子和字體的對(duì)象也可以使用GDI類構(gòu)造。

wx.Colour類

顏色對(duì)象表示RGB(紅,綠和藍(lán))的亮度值,每個(gè)是在0-255的比例組合。還有一些預(yù)定義的顏色對(duì)象-

  • wxBLACK
  • wxBLUE
  • wxCYAN
  • wxGREEN
  • wxYELLOW
  • wxLIGHT_GREY
  • wxRED
  • wxWHITE
顏色以RGB值自定義組合形成為wx.Colour對(duì)象。
wx.Colour(r,g,b)

wx.Pen類

Pen對(duì)象確定的圖形像線,矩形,圓等的形狀的顏色,寬度和樣式
預(yù)定義的畫筆對(duì)象是-
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
預(yù)定義的畫筆樣式是 -
wx.SOLID
wx.DOT
wx.LONG_DASH
wx.SHORT_DASH
wx.DOT_DASH
wx.TRANSPARENT

wx.Brush 類

Brush是另一個(gè)基本圖形對(duì)象必須填寫的形狀,如矩形,橢圓形,圓形等的背景
自定義畫筆對(duì)象需要wx.Colour和畫筆的樣式參數(shù)。以下是預(yù)定義的刷樣式列表 -
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有許多便于繪制不同的形狀,文本和圖像的函數(shù)。
S.N.
函數(shù)與說明
1

DrawRectangle()

按給定尺寸繪制矩形
2

DrawCircle()

用給定的點(diǎn)為中心以及半徑繪制一個(gè)圓
3

DrawEllipse()

用給定的x和y半徑繪制一個(gè)橢圓
4

DrawLine()

繪制兩個(gè)wx.Point對(duì)象之間的線
5

DrawBitmap()

在給定的位置繪制圖像
6

DrawText()

顯示在指定的位置給定的文本

實(shí)例

上述函數(shù)是在下面的例子中實(shí)現(xiàn)的,利用畫筆,畫筆,顏色和字體的對(duì)象。
完整的代碼如下 -
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,50) 
      dc.SetBrush(wx.Brush(wx.Colour(255,255,255))) 
      dc.DrawCircle(300,125,30) 
		
      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) 
		
ex = wx.App() 
Mywin(None,'Drawing Demo - www.yiibai.com') 
ex.MainLoop()

上面的代碼產(chǎn)生下面的輸出 -