吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4076|回复: 3
收起左侧

[Python 转载] 图片加自定义文字水印功能,欢迎各路大神指教

[复制链接]
hanson1025 发表于 2022-3-3 12:19
公司每次出去办事,拿营业执照出去,都得打开photoshop在图于上加入仅适用于在某某地方办理什么业务使用,实在太麻烦,于是想着做个加文字水印功能源码,在网上找到很多都是加入一个LOGO文件,不适用于我这种每次水印对应文字都不同的工作
现在贴出源码,欢迎各路大神指教,关于水印位置调整其实没太搞懂,就一点一点的改位置试验出来,某些尺寸的图片可能会出现水印显示不全,但能力有限,大部分可以就行啦

[Python] 纯文本查看 复制代码
from PIL import Image,ImageFont,ImageDraw
import wx,winreg
from tkinter import filedialog,messagebox

def water(img_name,word):
    a = Image.open(img_name).convert('RGBA')
    w,h = a.size
    b = Image.new('RGBA',a.size,(0,0,0,0))
    if w>h:
        max_size = int(w/30)
    else:
        max_size = int(h/30)
    fnt = ImageFont.truetype('pingfang-bold.otf',max_size)
    c = ImageDraw.Draw(b)
    c.text((w/5,h/2),word,font=fnt,fill=(0,0,0,50)) if w > h else c.text((h/10,w/2),word,font=fnt,fill=(0,0,0,50))
    b = b.rotate(40)
    d = Image.alpha_composite(a,b).convert('RGB')
    d.save(desktop_dir + '\\text.jpg')
    messagebox.showinfo(title='信息框',message='新图片已保存到桌面')

def get_word(hyg_word):
    file_path = filedialog.askopenfilename(title='请选择图片文件',filetypes=[('图片文件','*.jpg *.png *.jpg')])
    water(file_path,hyg_word)

desktop_dir = winreg.QueryValueEx(winreg.OpenKey(winreg.HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',),'Desktop')[0]
app = wx.App()
box = wx.TextEntryDialog(None,'请输入欲插入的水印文字','输入窗口')
if box.ShowModal() == wx.ID_OK:
    get_word(box.GetValue())
app.MainLoop()

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| hanson1025 发表于 2022-3-3 14:16
图片加自定义文字水印功能
血情 发表于 2022-3-3 15:30
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表