中文編程pygame游戲教程6_使用圖像

加載圖像
pyagme.圖像模塊提供了加載和保存的方法 圖像。讀取()?方法從文件系統(tǒng)加載圖像,并返回一個 表層(Surface)對象。轉(zhuǎn)換格式()方法優(yōu)化了圖像格式,使繪圖速度更快:
我的圖片bird.png在程序所在的同一文件夾的data文件下.
讀取()方法從圖像返回 區(qū)塊(Rect) 對象。 此時僅設(shè)置大小并將位置放置在(0, 0)。 我們將 圖像區(qū)塊的中心設(shè)置為屏幕的中心:
概括地說,我們正在處理 3 個對象:
屏幕是表示應(yīng)用程序窗口的 表層(Surface) 對象
圖像?是要顯示的圖像的表層對象
圖像區(qū)塊?是 區(qū)塊(Rect)對象,它是圖像的邊框
為了顯示圖像,我們用背景色(灰色)填充屏幕。 然后我們把圖像"貼"到屏幕上,并在它周圍畫一個紅色矩形,最后更新屏幕:
用鼠標移動圖像
在程序開始時,我們將移動中變量設(shè)置為 False。 僅當按下鼠標按鈕并且鼠標位置在圖像內(nèi)(碰撞點檢測)時,我們將其設(shè)置為 True,釋放鼠標按鈕后,我們再次將其設(shè)置為 False,當鼠標移動并且標志為 True 時,我們移動圖像按鼠標位置相對移動.

下面是完整代碼:
旋轉(zhuǎn)和縮放圖像
pygame.變形模塊提供了縮放、旋轉(zhuǎn)和翻轉(zhuǎn)圖像的方法。當我們要修改圖像時,我們保留原始圖像在名為 圖像0 的變量中:
為了顯示圖像矩形,我們在原始圖像中添加了一個綠色邊框:
首先,我們定義全局變量尺度和角度:
我們使用 R 鍵將旋轉(zhuǎn)增加 10 度,然后 (如果按下 SHIFT 鍵,則遞減)。該功能允許組合 旋轉(zhuǎn)和縮放。我們總是轉(zhuǎn)換原始圖像(圖像0)。重復(fù)旋轉(zhuǎn)或縮放, 圖像會降低其質(zhì)量:
我們使用 S 鍵將比例增加 10%(如果使用 SHIFT 鍵,則減小 被按下):
轉(zhuǎn)換圖像時,邊框的大小會發(fā)生變化。必須重新計算并再次放置在中心:
將圖像重置為原始圖像
我們使用 O 鍵將圖像重置為其原始狀態(tài):
翻轉(zhuǎn)圖像
我們使用 H 鍵水平翻轉(zhuǎn)圖像:
和 V 鍵垂直翻轉(zhuǎn)圖像:
使用l鍵 用查找邊緣.()方法檢測圖像的輪廓:

放大2倍使像素的大小加倍:
完整的代碼如下:
用鼠標轉(zhuǎn)換圖像
在本節(jié)中,我們將展示如何使用鼠標縮放和旋轉(zhuǎn)圖像。
我們先存儲初始鼠標位置:
當鼠標移動時,我們更新鼠標位置并計算 x、y 坐標 從圖像中心。 我們還計算鼠標與屏幕中心的距離
數(shù)學(xué)函數(shù)允許找到旋轉(zhuǎn)角度。我們需要 以度為單位轉(zhuǎn)換弧度。從距離鼠標中心,我們計算出 比例參數(shù):atan2(y, x)
為了最終繪制轉(zhuǎn)換后的圖像,我們首先填充整個屏幕背景(灰色), 將轉(zhuǎn)換后的圖像點亮,用紅色矩形包圍它。
為了在轉(zhuǎn)換圖像時為鼠標動作提供視覺反饋,我們在圖像中心和鼠標位置之間畫一條綠線,在中心和鼠標位置放置兩個圓圈.

這是完整的代碼。