您的位置:首页技术文章
文章详情页

python 对图片进行简单的处理

浏览:96日期:2022-06-16 08:36:27
目录安装Pillow包图片划线图片写字图片加图片水印图片模糊图片截取总结安装Pillow包

pip install Pillow图片划线

from PIL import Image, ImageDrawim = 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 stdoutim.save('blur.jpg', 'PNG')图片写字

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

from PIL import ImageFont, ImageDraw,Image, ImageDrawimage = 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, ImageDrawimage = 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, ImageDrawimage = 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 Imageimg = 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 Imageimg = Image.open('image.png')print(img.size)right = 1303lower = 734if 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 编程
相关文章: