証明写真加工アプリを Python と Tkinter で作ってみた
最近、証明写真の加工やトリミングの手間を感じたことはありませんか?
今回は、Python の標準ライブラリ Tkinter と、画像処理ライブラリ Pillow を用いて、証明写真加工アプリを作成しました。
プロジェクトの背景
証明写真は、用途によって必要なサイズやフォーマットが異なります。
また、スキャンした写真やスマートフォンで撮影した写真は、必ずしも対象が中央にあるとは限らず、余白が多かったりします。
そこで、ユーザーが自由にトリミングできる手動トリミング機能を搭載することにしました。
主な機能
-
画像読み込み
JPEG、PNG、BMP、GIF などの画像ファイルを読み込みます。 -
手動トリミング
キャンバス上でマウスドラッグにより任意の領域を選択できます。
デフォルトのアスペクト比は「横3、縦4」に設定してありますが、ユーザーが自由に変更可能です。 -
プレビュー更新
トリミング後の画像を、全体が潰れない形でプレビュー表示します。 -
画像保存
加工後の画像を JPEG または PNG 形式で保存できます。
実装のポイント
-
縮小表示と座標補正
大きな画像は最大800×600に縮小して表示し、トリミング時の選択座標を元画像に合わせて補正しています。 -
アスペクト比の個別入力
ユーザーは「アスペクト比(横)」と「アスペクト比(縦)」を別々に入力可能。
デフォルトは 3:4(0.75) に設定しています。 -
シンプルで使いやすいUI
全体の配色は白背景、文字は黒で統一し、視認性と操作性を重視しました。
Github で公開
このプロジェクトは Github 上で公開中です。
証明写真加工アプリ
Github では、README や公開手順、さらにはライセンス情報も記載しています。
ぜひ、クローンやフォークして使ってみてください!
まとめ
Python と Tkinter で GUI アプリケーションを作成するのは、初心者にも取り組みやすいテーマです。
今回のアプリを通して、画像処理やユーザーインターフェースの基本を学ぶことができました。
今後、顔検出や自動トリミング機能など、さらなる機能拡張にも挑戦していきたいと思います。