教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python中如何操作Surface對象繪制圖形?

更新時間:2022年07月21日18時23分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

在Surface對象上繪制圖形分為加載圖片和繪制圖片兩個步驟。

(1)加載圖片

加載圖片即將圖片讀取到程序中,通過pygame中 image模塊的load()方法可以向程序中加載圖片,生成Surface對象。load()方法的聲明如下:

load (filename) -> Surface
imgSurf =pygame.image.load('bg.jpg')

以上示例從當前路徑下加載名為“bg.jpg”的圖片(分辨率為640像素×480像素),并使用變量 imgSurf 保存生成的Surface對象。

(2)繪制圖片

aPygame中繪制圖像即將一個Surface對象疊加在另一個Surface對象之上,這類以于現(xiàn)實生活中不同尺寸紙質(zhì)圖形的堆疊。通過Surface對象的blit()方法可以實現(xiàn)圖像繪制,blit()方法的語法如下:

blit (source, dest, area=None, special flags = 0) -> Rect

下面對blit()方法的參數(shù)進行說明。

·參數(shù)source接收被繪制的Surface對象。

·參數(shù)dest接收一個表示位置的元組,該元組指定left和top兩個值,left和top

別表示圖片距離窗口左邊和頂部的距離。該參數(shù)亦可接收一個表示矩形的元組left,top,width,height)(left、top表示矩形的位置,width、height表示矩形的寬和高),矩形的位置作為繪制的位置。

·參數(shù)area是一個可選參數(shù),通過該參數(shù)可設(shè)置矩形區(qū)域。若設(shè)置的矩形區(qū)域小source所設(shè)置Surface對象的區(qū)域,那么僅繪制Surface對象的部分內(nèi)容。

·參數(shù)special flags是標志位。

使用blit()方法將加載生成的imgSurf對象繪制到窗口WINSET中,具體示例如下:

WINSET.blit(imgSurf, (0, 0) )

以上示例代碼將imgSurf繪制到了窗口的(0,0)位置,由于被繪制的圖片與窗尺寸一致,這里的操作等同于為窗口繪制了背景圖片。

將繪制圖片的代碼添加到程序7_pg_test.py中,具體如下所示:

以上示例從當前路徑下加載名為“bg.jpg”的圖片(分辨率為640像素×480像素),并使用變量 imgSurf 保存生成的Surface對象。

(2)繪制圖片

aPygame中繪制圖像即將一個Surface對象疊加在另一個Surface對象之上,這類以于現(xiàn)實生活中不同尺寸紙質(zhì)圖形的堆疊。通過Surface對象的blit()方法可以實現(xiàn)圖像繪制,blit()方法的語法如下:

blit (source, dest, area=None, special flags = 0) -> Rect

下面對blit()方法的參數(shù)進行說明。

·參數(shù)source接收被繪制的Surface對象。

·參數(shù)dest接收一個表示位置的元組,該元組指定left和top兩個值,left和top

別表示圖片距離窗口左邊和頂部的距離。該參數(shù)亦可接收一個表示矩形的元組left,top,width,height)(left、top表示矩形的位置,width、height表示矩形的寬和高),矩形的位置作為繪制的位置。

·參數(shù)area是一個可選參數(shù),通過該參數(shù)可設(shè)置矩形區(qū)域。若設(shè)置的矩形區(qū)域小source所設(shè)置Surface對象的區(qū)域,那么僅繪制Surface對象的部分內(nèi)容。

·參數(shù)special flags是標志位。

使用blit()方法將加載生成的imgSurf對象繪制到窗口WINSET中,具體示例如下:

WINSET.blit(imgSurf, (0, 0) )

以上示例代碼將imgSurf繪制到了窗口的(0,0)位置,由于被繪制的圖片與窗尺寸一致,這里的操作等同于為窗口繪制了背景圖片。

將繪制圖片的代碼添加到程序7_pg_test.py中,具體如下所示:

...
  WINSET = pygame.display.set_mode((WINWIDTH, WINHEIGHT))
  WINSET.fIL1 
  (BGCOLOR)                                 #填充背景顏色
  pygame.display.set_caption('數(shù)字推盤')   
  image = pygame,image.load('bg. jpg')      #加載圖片
  WINSET.blit(image, (0, 0))                #繪制圖片
  ...
...



猜你喜歡:

Python大數(shù)據(jù)培訓(xùn):繪制3D曲面圖

Python程序編寫規(guī)范【編程約定】

python開發(fā)之游戲循環(huán)和游戲時鐘

怎樣定義類方法和修改類的屬性?

傳智教育Python+大數(shù)據(jù)開發(fā)培訓(xùn)

0 分享到:
和我們在線交談!