python 对图片进行简单的处理

介绍一些图片处理的Python代码,有了这些处理代码,我们可以很方便的处理一些图片,Python这里处理图片一般都使用Pillow包,有此需求的朋友可以参考下

安装Pillow包

 pip install Pillow 

图片划线

 from PIL import Image, ImageDraw im = Image.open("blur.jpg-600") 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-600", "PNG") 

图片写字

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

 from PIL import ImageFont, ImageDraw,Image, ImageDraw image = Image.open("image.png-600").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-600", "png") out.show() 

图片加图片水印

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

 from PIL import ImageFont, ImageDraw, Image, ImageDraw image = Image.open("image.png-600") logo = Image.open("logo.png-600") 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-600", "png") out.show() 

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

 from PIL import ImageFont, ImageDraw, Image, ImageDraw image = Image.open("image.png-600") logo = Image.open("logo.png-600") 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-600", "png") out.show() 

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

图片模糊

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

图片截取

 from PIL import Image img = Image.open("image.png-600") print(img.size) cropped = img.crop((0, 0, 1303, 734))  # (left, upper, right, lower) cropped.save("imageCropped.png-600") 

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

 from PIL import Image img = Image.open("image.png-600") 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, lower) cropped.save("imagecropped.png-600") pre>

这样白边就被干掉了

总结

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

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

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

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python