分享

图片编辑 功能 python

 zip11 2022-06-16 发布于湖北

安装

pip3 install Pillow

#例子

from PIL import Image

img_switch = Image.open("安娜的橱窗.jpg") # 读取图片

img_deal = img_switch.resize((300,300),Image.ANTIALIAS) # 转化图片

img_deal = img_deal.convert('RGB') # 保存为.jpg格式才需要

img_deal.save("安娜的橱窗_switch.jpg")


 因为默认颜色的属性是 RGBA,和 RGB 的区别是前者多了透明度的设置。.jpg格式的图片是不支持透明度设置的


如果要保存为 .PNG 格式的话就直接 img_deal.save("安娜的橱窗_switch.PNG") 就好了。


图片比例不变的情况下修改图片大小


from PIL import Image

image = Image.open('图片路径')

# 调整图片大小,并保持比例不变

# 给定一个基本宽度

base_width = 50

# 基本宽度与原图宽度的比例

w_percent = base_width / float(image.size[0])

# 计算比例不变的条件下新图的长度

h_size = int(float(image.size[1]) * float(w_percent))

# 重新设置大小

# 默认情况下,PIL使用Image.NEAREST过滤器进行大小调整,从而获得良好的性能,但质量很差。

image = image.resize((base_width, h_size), Image.ANTIALIAS)

image.save('图片路径')


如果你想创建一张图片的缩略图,

你可以使用thumbnail()方法,该方法需要传入缩略图的宽高元组

img=img.thumbnail((128,128))


如果你想对一张图片的一部分进行裁剪,

你可以使用crop()方法,该方法需要你传入一个元组,该元组指定裁剪区域的左上角坐标和右下角坐标

box = (100,100,400,400)

img = img.crop(box)


如果你想把一张图片覆盖在另一个图片的上面,

你可以使用paste()方法,该方法需要传入要贴的图片和位置(左上角坐标和右下角坐标)

img2=img2.paste(img1,(100,100,200,200))


如果你想要旋转一张图片,

你可以使用transpose()方法,该方法传入旋转角度

img = img.transpose(Image.ROTATE_180)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多