zoukankan      html  css  js  c++  java
  • python 图片格式转换png转jpg,如何利用python给图片添加半透明水印

    from PIL import Image
    im = Image.open(r'd: est2.png')
    r, g, b, a = im.split()
    im = Image.merge("RGB", (r, g, b))
    im.save(r'D:Python_Programming.jpg')
    ===============================
    # coding:utf-8
    
    from PIL import Image, ImageDraw, ImageFont
    
    
    def add_text_to_image(image, text):
        font = ImageFont.truetype('C:WindowsFontsSTXINGKA.TTF', 36)
    
        # 添加背景
        new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0))
        new_img.paste(image, image.size)
    
        # 添加水印
        font_len = len(text)
        rgba_image = new_img.convert('RGBA')
        text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
        image_draw = ImageDraw.Draw(text_overlay)
    
        for i in range(0, rgba_image.size[0], font_len * 40 + 100):
            for j in range(0, rgba_image.size[1], 200):
                image_draw.text((i, j), text, font=font, fill=(0, 0, 0, 50))
        text_overlay = text_overlay.rotate(-45)
        image_with_text = Image.alpha_composite(rgba_image, text_overlay)
    
        # 裁切图片
        image_with_text = image_with_text.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2))
        return image_with_text
    
    
    if __name__ == '__main__':
        img = Image.open(r"d:ww.jpg")
        im_after = add_text_to_image(img, u'群主是个大流X')
        im_after.save(r'd:ww.png')

     彩色转黑白

    from PIL import Image
    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.cm as cm   #cm是colormap的缩写
    image_gray=Image.open('D:/ww.png').convert("L")
    data=np.array(image_gray)  #在显示灰度图像时array()方法将图像转换成Numpy的数组对象,图片得以显式,否则会出现错误
    plt.imshow(data,cmap=cm.gray)# cmap:代表颜色图谱,默认绘制为RGB(A)颜色空间。
    plt.savefig("d:/ww1.png")
    plt.show()

     裁剪

    from PIL import Image
    import matplotlib.pyplot as plt
    import numpy as np
    image=Image.open('D:/ww.jpg')
    box=(100,100,400,400)
    region=image.crop(box)
    data=np.array(region)
    plt.imshow(data)
    plt.show()

     旋转

    from PIL import Image
    import matplotlib.pyplot as plt
    image=Image.open('D:/ww.png')#读取图像
    plt.imshow(image.rotate(180))#逆时针旋转180度
    plt.show()#需要调用show()方法,不然图像只会在内存中而不显示出来
  • 相关阅读:
    ES6 Promise的resolved深入理解
    npm 重点小结
    nodemon 基本配置与使用
    CSS 标准发布流程
    HTML表格基础详解
    <linux/init.h>,<linux/module.h>头文件不存在等问题的解决方法
    libcstl中的list没法插入自定义数据
    Linux下C编写基本的多线程socket服务器
    Linux下C连接MySql数据库
    C++实现最基本的LRUCache服务器缓存
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12029103.html
Copyright © 2011-2022 走看看