V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kaesi0
V2EX  ›  程序员

各位大佬,请问有没有能够批量生成图片的 Python 包

  •  
  •   kaesi0 · 2020-06-29 09:23:56 +08:00 · 2156 次点击
    这是一个创建于 1607 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的,参考下面这张图

    从左往右可以拆解为头像,昵称,签名三个要素。头像是一张 png 图,昵称是头像图片的名称,签名可以存储在图片名称上,比如这样给图片命名“昵称-签名”(但不是所有的都有签名),也可以将签名存储在一个跟图片名称一样的 txt 中,比如“昵称.txt” 以上这些元素最终合成为一张类似参考图的背景透明图片

    现在需要一个能批量处理图片的 python 包,实现这个效果 1.每个文件夹以昵称命名,文件夹里包含了头像,昵称和签名;这些文件夹被放置在一个父文件夹 A 中 2.在 A 文件夹中运行脚本,遍历每个子文件夹,合成指定尺寸的图片

    求大佬给支支招,因为是一个持续性的,长期的工作,所以需要通过脚本来减轻工作量

    15 条回复    2020-06-29 15:44:46 +08:00
    hhhfffhhh
        1
    hhhfffhhh  
       2020-06-29 09:29:52 +08:00
    手写一个?或者 node 也可以吧
    whileFalse
        2
    whileFalse  
       2020-06-29 09:32:08 +08:00
    PIL 库就能干这个,创建一个空图像,写入头像图片,用 PIL.ImageFont 写入文字即可。

    什么?你想找个现成的包全帮你做好,一句代码不用写只管丢资源?出钱吧,楼下会有人帮你的。
    kaesi0
        3
    kaesi0  
    OP
       2020-06-29 09:33:23 +08:00
    @whileFalse 新手,只是需要找一个能处理图片的包,业务逻辑肯定是要自己写的
    whileFalse
        4
    whileFalse  
       2020-06-29 09:36:48 +08:00
    @kaesi0 那我建议你下次自己搜。
    “python image lib”,第一个结果就是 pillow,或者说 PIL
    "PIL write text" 第一个结果就是 PIL.ImageFont 。
    xingshu1990
        5
    xingshu1990  
       2020-06-29 09:37:14 +08:00
    https://xingshu1990.github.io/python/py_image.html
    类似这样?
    不过我这个是入门代码,实际项目代码可以找找 github 或者谷歌
    feelinglucky
        6
    feelinglucky  
       2020-06-29 09:44:35 +08:00
    这小伙子长得有点像李彦宏的儿子
    xingshu1990
        7
    xingshu1990  
       2020-06-29 09:46:13 +08:00
    @feelinglucky 别说 眼睛这块 还真像。
    kaesi0
        8
    kaesi0  
    OP
       2020-06-29 09:55:41 +08:00
    @feelinglucky 你们飚车偏得有点凶啊
    sivacohan
        9
    sivacohan  
       2020-06-29 09:55:52 +08:00 via iPhone   ❤️ 3
    建议不要用 python 来做这件事,靠代码一点一点画图是非常痛苦的。
    建议使用 css+html 来画图,之后用 phantomjs 来渲染成图片就好了。
    kaesi0
        10
    kaesi0  
    OP
       2020-06-29 09:56:05 +08:00
    @whileFalse 感谢
    xiaogouxo
        11
    xiaogouxo  
       2020-06-29 10:00:44 +08:00
    用 html 写一个界面,不用处理字体等烦人的问题,加个区间锚点 div,再用 selenium 区间截图就行了
    jugelizi
        12
    jugelizi  
       2020-06-29 12:12:18 +08:00 via iPhone
    建议前端实现排版绘图
    also24
        13
    also24  
       2020-06-29 12:19:59 +08:00 via Android
    楼主这种简单需求…… 还不至于用前端绘制吧,那样还要多点几个技术栈。
    xuqiccr
        14
    xuqiccr  
       2020-06-29 15:44:06 +08:00
    头像有点好看的
    xuqiccr
        15
    xuqiccr  
       2020-06-29 15:44:46 +08:00
    哦图片里的头像
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2790 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:29 · PVG 22:29 · LAX 06:29 · JFK 09:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.