護照、身份證等證件申辦,常常都還是需要提供實體照片~
想要透過便利商店洗大頭照的照片,查起來超貴,但是 4*6 的照片相對便宜很多~
於是~ 來將大頭照合進 4x6 的照片,再去洗出來,在靠剪刀即可~
照片尺寸(英吋) 與 實際尺寸(厘米) (300dpi)
- 10x15:25.4x38.1
- 10x12:25.4x30.5
- 8x10 :20.3x25.4
- 6x8 :15.2x20.3
- 5x8 :12.7x20.3
- 5x7 :12.7x17.7
- 4x6 :10.1x15.2
- 3.5x5:8.9x12.7
Python 將大頭照平鋪在 4x6 的相片圖檔
- 1吋照片的尺寸:
- 2.5cm * 3.5cm
- 295px * 413px
- 2吋照片的尺寸:
- 3.5cm * 5.3cm
- 413px * 626px
其它常用照片尺寸:
- 照片類型(英吋) 尺寸(厘米)
- 身份證 (22mm x 32mm)
- 駕駛證 (22mm x 32mm)
- 黑白小一寸 (22mm x 32mm)
- 彩色小一寸 (27mm x 38mm)
- 彩色大一寸 (40mm x 55mm)
- 普通證件照 (33mm x 48mm)
查到我以前做這件事情,是使用:軟體: PhotoCap 輕鬆製作大頭照
不過現在沒有 Windows 可以用,得要使用 GIMP 或者 靠程式直接生成~
發現靠程式才是最快的,直接把照片檔案進去,直接執行輸出就是成品~
資料準備
- your-photo.png 大頭照照片檔案
- passport_photos_4x6.jpg 輸出結果
程式(passport-2inch-to-4x6.py)
- #!/usr/bin/python3
- # 將 PNG 的照片縮成 2吋,再排入 4*6 的照片方便一次印出
- # pip install Pillow
- # 載入大頭照
- # 設定解析度(300 DPI)與尺寸
- dpi = 300
- passport_width = int(2 * dpi) # 2 吋寬
- passport_height = int(2 * dpi) # 2 吋高
- passport_size = (passport_width, passport_height)
- # 保持原圖比例 縮放以塞入 2x2 吋畫布
- original_aspect = original_image.width / original_image.height
- target_aspect = passport_width / passport_height
- if original_aspect > target_aspect:
- # 原圖過寬,限制寬度
- new_width = passport_width
- new_height = int(passport_width / original_aspect)
- else:
- # 原圖過高,限制高度
- new_height = passport_height
- new_width = int(passport_height * original_aspect)
- resized_image = original_image.resize((new_width, new_height), Image.Resampling.LANCZOS) # 縮圖
- # 將縮圖貼在畫布中央( // = math.floor(取整數、商數) )
- offset_x = (passport_width - new_width) // 2
- offset_y = (passport_height - new_height) // 2
- passport_canvas.paste(resized_image, (offset_x, offset_y))
- # 建立一張 4x6 吋的白底畫布
- output_width = int(6 * dpi)
- output_height = int(4 * dpi)
- # 計算可放置的行數與列數
- cols = output_width // passport_width
- rows = output_height // passport_height
- # 貼上多張 2x2 照片
- for row in range(rows):
- for col in range(cols):
- x = col * passport_width
- y = row * passport_height
- output_image.paste(passport_canvas, (x, y))
- # 儲存輸出圖片
- output_image.save("passport_photos_4x6.jpg", dpi=(300, 300))
photocap 最重要的功能是幫你把大頭照 zoom 成符合不同型式大頭照的呎吋要求~
我也很想用,但是我沒有 Windows 可以跑.. orz