欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python光學(xué)仿真wxpython之DC繪圖

 更新時間:2021年10月19日 14:25:45   作者:微小冷  
這篇文章主要為大家介紹了Python光學(xué)仿真wxpython之DC繪圖的基本概念及用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助

一般來說,系統(tǒng)與繪圖程序之間的信息交換是由圖形設(shè)備接口(Graphics Device Interface,GDI)實現(xiàn)的,在wxpython中,通過device context(DC)對象來實現(xiàn)GDI的功能。

DC對象的創(chuàng)建非常簡單,只需引用wx.PaintDC即可,而后則可通過dc來設(shè)置畫筆dc.SetPen,有了畫筆,就可以進行圖形繪制了。于是,我們再考慮到圖形的屬性,包括形狀、顏色與邊框等,更細致地說,是圖形形狀、填充顏色、邊框類型、邊框顏色。

我們可以通過一個矩形的例子來說明:

在這里插入圖片描述

上面的窗口由如下代碼實現(xiàn)。

import wx
class Example(wx.Frame):
    def __init__(self, parent,title):
        super(Example,self).__init__(parent,title=title,size=(350,280))
        self.Bind(wx.EVT_PAINT, self.OnShowColour)
        self.Center()   #居中
        self.Show()     #顯示
    def OnShowColour(self,evt):
        dc = wx.PaintDC(self)
        dc.SetPen(wx.Pen('#d4d4d4'))    #設(shè)置畫筆顏色
        dc.SetBrush(wx.Brush('#c56c00'))#設(shè)置填充顏色
        dc.DrawRectangle(10,15,90,60)   #繪制矩形
        dc.SetBrush(wx.Brush('#1ac500'))
        dc.DrawRectangle(130,15,90,60)
        dc.SetBrush(wx.Brush('#539e47'))
        dc.DrawRectangle(250,15,90,60)
        dc.SetBrush(wx.Brush('#004fc5'))
        dc.DrawRectangle(10,105,90,60)
def test():
    app = wx.App()		#創(chuàng)建App對象
    Example(None,'Rect')#創(chuàng)建繪圖窗口
    app.MainLoop()
if __name__ == "__main__":
    test()

首先,通過dc.SetPen()設(shè)置畫筆屬性,wx.Pen('#d4d4d4')的標準調(diào)用格式為wx.Pen(wx.Colour,width,style),width顧名思義即為畫筆寬度,'#d4d4d4'是Colour類的一種表示,為紅、綠、藍三組十六進制值的組合,從而定義畫筆顏色。除了字符串的表示方法之外,還可以通過引用標準顏色庫或者調(diào)用wx.Colour()來對顏色進行定義。

例如,wx.Colour(255,0,0),‘Red'和'#FF0000'都表示紅色。標準顏色庫如表所示:

AQUAMARINE BLACK BLUE BLUE VIOLET BROWN
CADET BLUE CORAL CORNFLOWER BLUE CYAN DARK GREY
DARK GREEN DARK OLIVE GREEN DARK ORCHID DARK SLATE BLUE DARK SLATE GREY
DARK TURQUOISE DIM GREY FIREBRICK FOREST GREEN GOLD
GOLDENROD GREY GREEN GREEN YELLOW INDIAN RED
KHAKI LIGHT BLUE LIGHT GREY LIGHT STEEL BLUE LIME GREEN
MAGENTA MAROON MEDIUM AQUAMARINE MEDIUM BLUE MEDIUM FOREST GREEN
MEDIUM GOLDENROD MEDIUM ORCHID MEDIUM SEA GREEN MEDIUM SLATE BLUE MEDIUM SPRING GREEN
MEDIUM TURQUOISE MEDIUM VIOLET RED MIDNIGHT BLUE NAVY ORANGE
ORANGE RED ORCHID PALE GREEN PINK PLUM
PURPLE RED SALMON SEA GREEN SIENNA
SKY BLUE SLATE BLUE SPRING GREEN STEEL BLUE TAN
THISTLE TURQUOISE VIOLET VIOLET RED WHEAT
WHITE YELLOW YELLOW GREEN

除了顏色之外,SetPen中還可以定義其他屬性,例如畫筆樣式:

wx.SOLID:實線

wx.DOT:點線

wx.LONG_DASH:長橫線

wx.SHORT_DASH:短橫線

wx.DOT_DASH:點橫線

wx.TRANSPARENT:無邊框

dc.SetBrush為設(shè)置筆刷,即圖形內(nèi)部填充,除了wx.Colour()之外,其style包括以下類型

wx.SOLID:實心填充

wx.BDIAGONAL_HATCH:右斜紋wx.

CROSSDIAG_HATCH:左斜紋wx.

FDIAGONAL_HATCH:斜交叉紋wx.

CROSS_HATCH:橫豎交叉紋

wx.HORIZONTAL_HATCH:橫紋

wx.VERTICAL_HATCH:縱紋

wx.TRANSPARENT:無填充

dc.DrawRectangle為矩形繪制命令,其中四個參數(shù)分別為左上角點的坐標以及長寬值。除了矩形之外,wxpython提供了許多其他的圖形,如表所示

函數(shù) 圖形 參數(shù)備注
dc.DrawEllipse(x, y, width, height) 橢圓
dc.DrawRoundedRectangle(x, y, width, height, radius) 圓角矩形 radius為圓角半徑
dc.DrawArc(xStart, yStart, xEnd, yEnd, xc, yc) 圓弧 xc,yc為圓心
dc.DrawPolygon(points) 多邊形 輸入為點集
dc.DrawRectangle(x, y, width, height) 矩形
dc.DrawSpline(points) 曲線 輸入為點集
dc.DrawLines(points) 折線 輸入為點集
dc.DrawCircle(x, y, radius)

以上就是Python光學(xué)仿真wxpython之DC繪圖的詳細內(nèi)容,更多關(guān)于wxpython之DC繪圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論