更新時間:2022年07月21日18時23分 來源:傳智教育 瀏覽次數(shù):
在Surface對象上繪制圖形分為加載圖片和繪制圖片兩個步驟。
加載圖片即將圖片讀取到程序中,通過pygame中 image模塊的load()方法可以向程序中加載圖片,生成Surface對象。load()方法的聲明如下:
load (filename) -> Surface imgSurf =pygame.image.load('bg.jpg')
以上示例從當前路徑下加載名為“bg.jpg”的圖片(分辨率為640像素×480像素),并使用變量 imgSurf 保存生成的Surface對象。
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)) #繪制圖片 ... ...
大數(shù)據(jù)知識培訓(xùn):Hadoop的生態(tài)系統(tǒng)分別是什么?(下)
2022-07-15大數(shù)據(jù)知識培訓(xùn):Hadoop的生態(tài)系統(tǒng)分別是什么?(上)
2022-07-15大數(shù)據(jù)培訓(xùn):Zookeeper的特性是什么?
2022-07-14HDFS的優(yōu)點有哪些?
2022-07-13大數(shù)據(jù)培訓(xùn):HDFS的Java API操作
2022-07-12大數(shù)據(jù)培訓(xùn):HDFS讀數(shù)據(jù)流程
2022-07-12