【이미지 처리】Python의 Pillow로 사진에 테두리를 그린다

사진에 테두리를 그려 보았습니다. 단색 테두리이므로 그다지 아름답지는 않지만 Pillow 연습에는 좋다고 생각했습니다.
# -*- coding: utf-8 -*-
import sys
from PIL import Image, ImageDraw


def main():
    # 枠線の太さ(二本分)
    waku_w2 = 32

    # 枠にはめ込む写真
    photo = Image.open('./img/sample.png')

    # 枠と写真を描画するキャンバス
    # 写真と枠線のサイズからサイズを計算
    canvas = Image.new('RGB', (photo.size[0]+waku_w2, photo.size[1]+waku_w2), (128, 128, 128))

    # 枠線を描く(枠線の半分はキャンバスからはみ出て描画されない)
    draw = ImageDraw.Draw(canvas)
    draw.line((0, 0, canvas.width, 0), fill=(255, 0, 0), width=waku_w2)
    draw.line((canvas.width, 0, canvas.width, canvas.height), fill=(0, 255, 0), width=waku_w2)
    draw.line((canvas.width, canvas.height, 0, canvas.height), fill=(0, 0, 255), width=waku_w2)
    draw.line((0, canvas.height, 0, 0), fill=(255, 255, 0), width=waku_w2)

    # canvasに写真をはめ込む(枠線は一本分で計算)
    canvas.paste(photo, (waku_w2//2, waku_w2//2, waku_w2//2+photo.size[0], waku_w2//2+photo.size[1]))

    canvas.show()
    sys.exit(0)


if __name__ == '__main__':
    main()


실행 결과.

좋은 웹페이지 즐겨찾기