欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 对图片进行简单的处理

程序员文章站 2022-03-19 09:21:03
目录安装pillow包安装pillow包pip install pillow图片划线from pil import image, imagedrawim = image.open("blur.jpg"...

安装pillow包

pip install pillow

图片划线

from pil import image, imagedraw
im = image.open("blur.jpg")
draw = imagedraw.draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw
# write to stdout
im.save("blur.jpg", "png")

图片写字

有的时候我们可能需要往图片上写一些文字,比如说水印什么的,只要选择好我们本地的字体文件,直接就可以在图片上写字了

from pil import imagefont, imagedraw,image, imagedraw
image = image.open("image.png").convert('rgba')
txt=image.new('rgba', image.size, (0,0,0,0))
font=imagefont.truetype("c:/windows/fonts/tahoma.ttf", 20)
draw=imagedraw.draw(txt)
draw.text((txt.size[0]-100, txt.size[1]-30), "linshiyingdi", font=font)
out=image.alpha_composite(image, txt)
out.save("imagewithtext.png", "png")
out.show()

图片加图片水印

文字水印有时候不好看,想改成图片水印,也是可以的

from pil import imagefont, imagedraw, image, imagedraw

image = image.open("image.png")
logo = image.open("logo.png")
layer = image.new('rgba', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = image.composite(layer, image, layer)
out.save("imagewithlogo.png", "png")
out.show()

如果水印图片过大时,可以直接缩小点,直接使用图片自带的thumbnail方法就行

from pil import imagefont, imagedraw, image, imagedraw

image = image.open("image.png")
logo = image.open("logo.png")
logo.thumbnail((200, 100))
layer = image.new('rgba', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = image.composite(layer, image, layer)
out.save("imagewithlogo.png", "png")
out.show()

如下图,我们的水印图片放到了左上角,大小也非常合适。

python 对图片进行简单的处理

图片模糊

from pil import image, imagefilter
# 打开一个jpg图像文件,直接放到当前路径下方便点:
im = image.open('2822.jpg')
# 应用模糊滤镜:
im2 = im.filter(imagefilter.blur)
im2.save('blur.jpg', 'jpeg')

图片截取

from pil import image
img = image.open("image.png")
print(img.size)
cropped = img.crop((0, 0, 1303, 734))  # (left, upper, right, lower)
cropped.save("imagecropped.png")

可以看到的是如果这个图片的长度和宽度比1303和734小的时候会有透明的填充,感觉很难看,可以将对应的长度和宽度和这两个数字做个判断

from pil import image

img = image.open("image.png")
print(img.size)
right = 1303
lower = 734
if img.size[0] < 1303:
    right = img.size[0]
if img.size[1] < 734:
    lower = img.size[1]
cropped = img.crop((0, 0, right, lower))  # (left, upper, right, lower)
cropped.save("imagecropped.png")

这样白边就被干掉了

总结

人生苦短,我用 python,在强大的pillow帮助下,我们只需几行代码就可以实现图片的各种处理。

以上就是python 对图片进行简单的处理的详细内容,更多关于python 图片处理的资料请关注其它相关文章!

相关标签: python 图片处理