写真を表示しよう
今回はPygameを使って、写真を表示してみましょう。
ファイルから写真を読み込む
まず画面に表示する写真を読み込みます。
画像オブジェクトが戻されます。
ファイル形式はJPG、PNG、BMPなど、一般的な画像フォーマットに対応しています。
pygame.image.load(ファイル名)
メモ
以下のファイル形式をサポートしています。
JPG、PNG、GIF(アニメーション形式はサポート外)、BMP、PCX、TGA (非圧縮形式のみサポート)、TIF、LBM(and PBM)、PBM(and PGM, PPM)、XPM
実行例
img = pygame.image.load("photo.jpg")
表示する写真のサイズを変更する
一般的に写真の画像サイズは非常に大きいため、画面に収めるように縮小します。
pygame.transform.rotozoom(画像オブジェクト, 角度, スケール)
角度は、画像の回転角度で、回転しない場合は0を指定します。
スケールは、拡大縮小サイズです。
0.5を指定すると縦横のサイズが半分になり、2は2倍、1は等倍になります。
実行例
img = pygame.transform.rotozoom(img, 0, 0.2)
写真を表示する
写真を読み込みサイズの変更をしたら、画面に写真を表示します。
表示には、画面オブジェクト.blit()を使います。
画面オブジェクト.blit()の使い方は、こちらを参照してください。
実行例
surface.blit(img, 0, 0)
写真を表示するプログラム
上記のことをふまえて、写真を表示するプログラムを書いてみましょう。
写真のファイルは、Pythonのスクリプトと同じディレクトリに配置しておきます。
以下のプログラムは、元のサイズを0.2倍に縮小して、画面の中央に表示するようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
### インポート import pygame from pygame.locals import * ### 定数 WIDTH = 640 # 幅 HEIGHT = 400 # 高さ ### モジュール初期化 pygame.init() ### 画面設定 surface = pygame.display.set_mode((WIDTH,HEIGHT)) ### 写真読み込み img = pygame.transform.rotozoom(pygame.image.load("photo.jpg"), 0, 0.2) ### 写真表示 surface.blit(img, (int((WIDTH-img.get_width())/2),int((HEIGHT-img.get_height())/2))) ### 画面更新 pygame.display.update() ### 無限ループ while True: ### イベント処理 for event in pygame.event.get(): if event.type == KEYDOWN and event.key == K_ESCAPE: break else: continue ### whileループ終了 break ### 終了処理 pygame.quit() |
プログラムを実行すると、以下の画像が表示されます。