画像透かし

5796 ワード


デザイナーから透かし画像を渡し、製品画像に上書きする方法は、私が定義した이미지 기반의 워터마크です.반면에, 텍스트 기반 워터마크は以下の通りです.
例えばtext="ThisはI madeの透かし"
text変数で文字列を宣言します.
次にtextに基づいて画像オブジェクトを生成する.
下図のように.
watermark = Image.new('RGBA', (mark_width, mark_height), 0)
最も右側の0は不透明を意味します.つまり、透かしの背景を透明にします.
以下のすべてのコードをアップロードしました.

1.テキストベースの透かし

from PIL import Image, ImageDraw, ImageFont

img = Image.open("9259014.jpg")
width, height = img.size
text_to_be_rotated = "This is a watermark text"
font = ImageFont.truetype("~/fonts/Monofur/Monofur for Powerline.ttf", 44)
mark_width, mark_height = font.getsize(text_to_be_rotated)

watermark = Image.new('RGBA', (mark_width, mark_height), 0)
draw = ImageDraw.Draw(watermark)
draw.text((0, 0), text=text_to_be_rotated, font=font, fill=(200, 0, 0, 100))
watermark = watermark.rotate(45, expand=1)

# merge
wx, wy = watermark.size
px = int((width - wx)/2)
py = int((height - wy)/2)
img.paste(watermark, (px, py, px + wx, py + wy), watermark)
img.show()


2.画像ベースの透かし