Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python(初心者向け)】画像サイズを変更する方法


iPhoneアプリなどを作成していると、何種類ものスクリーンショットを用意しなければならないこともあり多少負担になっていました。

 

Pythonの画像処理用のライブラリPillow(PIL)を使用すると比較的簡単にリサイズができるため備忘録として書き残しておきます。

 

 

 

1.pillowのインストール

 

まずは、事前準備として、ターミナルまたはコマンドプロンプトから

 

$ pip install pillow

 

と、必要なライブラリpillowをインストールしておきます。

 

 

2.簡単な使用例

 

次に簡単な例を以下に記載します。

 

事前に以下のプログラムと同じフォルダ内に画像ファイルとして、

「test.png」ファイルを入れておきます。

 

from PIL import Image
filename = 'test.png' # リサイズ前の画像を読み込み img_file = Image.open(filename) # 読み込んだ画像の幅、高さを1000,500にリサイズする img_resized = img_file.resize((1000, 500)) # ファイルを保存 img_resized.save('result.png', quality=80)

 

1行目では必要なライブラリをインポートしています。

 

2行目で今回使用する画像ファイルを「test.png」としていますのであらかじめその名前のファイルを同じフォルダ内に入れておきます。

 

次の行でこのファイルをオープンして読み込んでいます。

 

続いて、読み込んだ画像をresize()で幅1000、高さ500にリサイズしています。

 

最後に、save()で名前を付けて保存しています。

 

第一引数はファイル名、第二引数は画像の品質設定で1-100までの数値を設定できます。

数値が大きいほど高品質になりますがファイルの容量も大きくなります。

 

ここまでが一通りの説明になります。

 

 

他の例として読み込んだ画像のサイズを半分にするようなコードは以下のようになります。

 

from PIL import Image
filename = 'test.png' # リサイズ前の画像を読み込み img_file = Image.open(filename) # 読み込んだ画像の幅、高さを半分にリサイズする img_resized = img_file.resize((img_file.width // 2, img_file.height // 2)) # ファイルを保存 img_resized.save('result.png', quality=80)

 

ほぼ先程の例と同様ですが、下から2つ目の行のコードが、

  1000→img_file.width // 2,

  500→img_file.height // 2

と変わっています。変更箇所はここだけです。

 

以上が、Pythonで画像サイズを変更する方法になります。

 

 

話が変わりますが以下のマウスおすすめです。

2023年5月にロジクールから出たマウスですが、Bluetoothマウスで2000円弱です(2023年7月)。

機能にこだわりがなく安価なBluetoothマウスが欲しい人にはかなりおすすめだと思います。