Python利用pillow判断图片完整性
2016-07-26 15:20
1221 查看
1、安装第三方库。
相关阅读:
1、Image.verify
2、Open PIL image from byte file
3、如何判断JPG文件下载完整了?
4、Pillow生成gif文件大小问题:Gif image size problem5、Pillow中的 GIF87a or GIF89a6、Pillow中文文档
*** walker ***
pip install pillow2、函数示例。
#encoding: utf-8 #author: walker #date: 2016-07-26 #summary: 判断图片的有效性 import io import imghdr from os import PathLike from PIL import Image #判断文件是否为有效(完整)的图片 #输入参数为文件路径,或文件对象 def IsValidImage(file): bValid = True if isinstance(file, (str, PathLike)): fileObj = open(file, 'rb') else: fileObj = file buf = fileObj.read() if buf[6:10] in (b'JFIF', b'Exif'): #jpg图片 if not buf.rstrip(b'\0\r\n').endswith(b'\xff\xd9'): bValid = False else: try: Image.open(fileObj).verify() except: bValid = False return bValid #判断文件是否为有效(完整)的图片 #输入参数为bytes,如网络请求返回的二进制数据 def IsValidImage4Bytes(buf): bValid = True try: Image.open(io.BytesIO(buf)).verify() except: bValid = False return bValid #判断文件是否为有效(完整)的图片 #输入参数为bytes,如网络请求返回的二进制数据 def IsValidImage4Bytes(buf): bValid = True if buf[6:10] in (b'JFIF', b'Exif'): #jpg图片 if not buf.rstrip(b'\0\r\n').endswith(b'\xff\xd9'): bValid = False else: try: Image.open(io.BytesIO(buf)).verify() except: bValid = False return bValid
相关阅读:
1、Image.verify
2、Open PIL image from byte file
3、如何判断JPG文件下载完整了?
4、Pillow生成gif文件大小问题:Gif image size problem5、Pillow中的 GIF87a or GIF89a6、Pillow中文文档
*** walker ***
相关文章推荐
- Gifski:一个跨平台的高质量 GIF 编码器
- 获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
- C语言实现BMP转换JPG的方法
- C#判断一个图像是否是透明的GIF图的方法
- jpg 木马如何执行 如何防止.JPG类型木马?
- Ajax loading gif generator
- php 将bmp图片转为jpg等其他任意格式的图片
- PHP实现GIF图片验证码
- PHP使用GIFEncoder类生成gif动态滚动字幕
- PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
- PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
- Android中播放Gif动画取巧的办法
- Android中显示GIF动画的实现代码
- VC++实现输出GIF到窗体并显示GIF动画的方法
- PHP使用GIFEncoder类生成的GIF动态图片验证码
- PHP判断一个gif图片是否为动态图片的方法
- Python Requests 基础入门
- Python的requests网络编程包使用教程
- python中requests模块的使用方法
- ps如何保存Gif