吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3028|回复: 15
收起左侧

[Python 原创] Python 给图片加水印代码

  [复制链接]
mycgb 发表于 2022-10-12 16:25
[Python] 纯文本查看 复制代码
from PIL import Image, ImageDraw, ImageFont

font = ImageFont.truetype('c:/windows/Fonts/Arial.ttf', 24)
# image: 图片  text:要添加的文本 font:字体
def add_text_to_image(image, text, font=font):
  rgba_image = image.convert('RGBA')
  text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
  image_draw = ImageDraw.Draw(text_overlay)

  text_size_x, text_size_y = image_draw.textsize(text, font=font)
  # 设置文本文字位置
  print(rgba_image)
  text_xy = (rgba_image.size[0] - text_size_x, rgba_image.size[1] - text_size_y)
  # 设置文本颜色和透明度
  image_draw.text(text_xy, text, font=font, fill=(76, 234, 124, 180))

  image_with_text = Image.alpha_composite(rgba_image, text_overlay)

  return image_with_text

if __name__ == '__main__':
    im_before = Image.open("yy.jpg")
    # im_before.show()
    W_text = input('请输入水印文字:').strip()
    im_after = add_text_to_image(im_before, W_text)
    im_after.show()
    # im.save('im_after.jpg')

免费评分

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

查看全部评分

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

wkdxz 发表于 2022-10-15 10:17
谢谢楼主,最近正好需要文字转图片的代码,借用你的代码整出来了
居中加大的文字.png


我把代码贴出来 有需要的兄弟们取走(背景是截取的Excel表格),如果要使用其他程序调用,可以使用命令行调用  
[Asm] 纯文本查看 复制代码
python  居中加文字.py  "要添加的文字"



[Python] 纯文本查看 复制代码
from PIL import Image, ImageDraw, ImageFont
import sys

font = ImageFont.truetype(r'C:\WINDOWS\Fonts\MSYH.TTC', 80)


def add_text_to_image(image, text, font=font):
    rgba_image = image.convert('RGBA')
    text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
    image_draw = ImageDraw.Draw(text_overlay)
    text_size_x, text_size_y = image_draw.textsize(text, font=font)
    # 设置文本文字位置(水平,垂直居中)
    text_xy = ((rgba_image.size[0] - text_size_x) / 2,
               (rgba_image.size[1] - text_size_y) / 2)
    # 设置文本颜色和透明度
    image_draw.text(text_xy, text, font=font, fill=(30, 30, 30, 255))
    image_with_text = Image.alpha_composite(rgba_image, text_overlay)
    return image_with_text


if __name__ == '__main__':

    if len(sys.argv) > 1:
        w_text = sys.argv[1]
    else:
        w_text = input('输入要加的文字:')

    w_text = w_text.strip()

    if w_text:
        with Image.open('E:/test.jpg') as f:
            im_after = add_text_to_image(f, w_text)
            im_after.show()
        im_after.save('E:/img_with_text.png')
zzq82222 发表于 2022-12-1 15:45
楼主,这个是什么意思

DeprecationWarning: textsize is deprecated and will be removed in Pillow 10 (2023-07-01). Use textbbox or textlength instead.
  text_size_x, text_size_y = image_draw.textsize(text, font=font)
32K 发表于 2022-10-12 16:33
大白baymax 发表于 2022-10-12 16:36
安装PIP INSTALL PIL失败是怎么回事
 楼主| mycgb 发表于 2022-10-12 16:40
大白baymax 发表于 2022-10-12 16:36
安装PIP INSTALL PIL失败是怎么回事

pip install Pillow
大白baymax 发表于 2022-10-12 17:29

感谢  好了
luxingyu329 发表于 2022-10-12 18:05
textsize  已经被弃用了,
一场荒唐半生梦 发表于 2022-10-12 18:39
有没有成品
ying656 发表于 2022-12-11 17:30
这个程序貌似不能批量给一个文件夹下的 加水印吧 。好可惜哦,因为一个一个的 有点损失这个软件的高效率了 。哈哈   不过还是很感谢你分享思路。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

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

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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