zoukankan      html  css  js  c++  java
  • 使用PIL给图像批量添加水印和改变大小

    # -*- coding:UTF-8 -*-
    import os,time
    from PIL import Image,ImageDraw,ImageFont
    fontFile="ygyxsziti2.0.ttf" #字体文件
    width,height=612,816 #
    
    os.chdir('src') #打开原始图片所在文件夹
    for fileName in os.listdir(os.getcwdu()):
        extName=os.path.splitext(fileName)[1] #获得文件的扩展名
        if extName=='.jpg' or extName=='.png':
            t=time.ctime(os.path.getctime(fileName))
            text=t+"
    "+u"代码改变生活!" #汉字加unicode编码,否则不显示
            im=Image.open(fileName) #im相当于指向图像的文件指针
            draw=ImageDraw.Draw(im) #draw相当于图像上的画笔
            fontSize=min(im.size)/30
            font=ImageFont.truetype(fontFile,fontSize) #font相当于画笔所使用的字体
            draw.text((50,50),text,font=font,fill=(255,0,0))  #用画笔开始在图像上写字
    
            rate=max(im.width/width,im.height/height) #缩放比例
            if rate!=0:
                im.thumbnail((im.size[0]/rate,im.size[1]/rate)) #注意参数是一个无组
            os.chdir(r'..dst') #切换到目标文件夹
            im.save(fileName) #存入图像
            im.close() #关闭文件
            os.chdir(r'..src') #切回源文件夹,注意当前在dst里, 回到上一级目录下的src里

  • 相关阅读:
    41、XAML text editing
    使用JavaScript和DOM动态创建和修改表格(转)
    ThinkPHP入门
    PHP字符串
    sicily 6773. 用指针交换两个矩阵
    sicily 6572. partial sum
    sicily 1934. 移动小球
    sicily 1323. Switch text
    sicily 6766. tmp
    sicily 1293. 3n+1数链问题
  • 原文地址:https://www.cnblogs.com/beast-king/p/7940578.html
Copyright © 2011-2022 走看看