python图像压缩函数 python压缩图片像素( 四 )


如果从字符串数据中读取图像,使用StringIO类:
** 从字符串中读取 **
如果图像文件内嵌在一个大文件里,比如 tar 文件中 。可以使用ContainerIO或TarIO模块来访问 。
** 从tar文档中读取 **
** 该小节不太理解 , 请参考原文 **
有些解码器允许当读取文件时操作图像 。通常用于在创建缩略图时加速解码(当速度比质量重要时)和输出一个灰度图到激光打印机时 。
draft() 函数 。
** Reading in draft mode **
输出类似以下内容:
注意结果图像可能不会和请求的模式和大小匹配 。如果要确保图像不大于指定的大?。胧褂?thumbnail 函数 。
Python2.7 教程 PIL
Python 之 使用 PIL 库做图像处理
来自
python不改变像素大小修改存储空间Python本身不支持改变像素大小来修改存储空间,但是可以使用第三方库来实现这一功能 。Pillow是一个开源的Python图像处理库 , 可以用来修改图片的大小,从而减少存储空间 。
使用Pillow库,可以使用resize()函数来调整图片的大?。?
from PIL import Image
img = Image.open('image.jpg')
img = img.resize((200, 200)) # 调整图片大小为200x200像素
img.save('image_resized.jpg') # 保存调整后的图片
用python解压图片并打印代码import zipfile
# 传入压缩文件zfile.zip获取相关信息
zip_file = zipfile.ZipFile('zfile.zip')
# 获取压缩文件中的内容
f_content = zip_file.namelist()
# 压缩前的大小
f_size = zip_file.getinfo('zfile/a.txt').file_size
# 压缩后的大小
c_size = zip_file.getinfo('zfile/a.txt').compress_size
ZipFile 对象有一个 namelist()方法,返回 ZIP 文件中包含的所有文件和文件夹 的字符串的列表 。这些字符串可以传递给 ZipFile 对象的 getinfo()方法,返回一个关 于特定文件的 ZipInfo 对象 。ZipInfo 对象有自己的属性,诸如表示字节数的 file_size 和 compress_size , 它们分别表示原来文件大小和压缩后文件大小 。ZipFile 对象表示 整个归档文件 , 而 ZipInfo 对象则保存该归档文件中每个文件的有用信息 。
从 ZIP 文件中解压缩
ZipFile 对象的 extractall()方法从 ZIP 文件中解压缩所有文件和文件夹,放到当 前工作目录中 。
import zipfile
zip_file = zipfile.ZipFile('zfile.zip')
# 解压
zip_extract = zip_file.extractall()
zip_extract.close()
运行这段代码后 ,  example.zip 的内容将被解压缩到 C:\ 。或者,你可以向 extractall()传递的一个文件夹名称,它将文件解压缩到那个文件夹,而不是当前工作 目录 。如果传递给 extractall()方法的文件夹不存在,它会被创建 。例如 , 如果你用 exampleZip.extractall('C:\ delicious')取代?处的调用 , 代码就会从 example.zip 中解压 缩文件,放到新创建的 C:\delicious 文件夹中 。
ZipFile 对象的 extract()方法从 ZIP 文件中解压缩单个文件 。
创建和添加到 ZIP 文件
要创建你自己的压缩 ZIP 文件,必须以“写模式”打开 ZipFile 对象,即传入'w' 作为第二个参数(这类似于向 open()函数传入'w' , 以写模式打开一个文本文件) 。
如果向 ZipFile 对象的 write()方法传入一个路径,Python 就会压缩该路径所指 的文件,将它加到 ZIP 文件中 。write()方法的第一个参数是一个字符串 , 代表要添 加的文件名 。第二个参数是“压缩类型”参数,它告诉计算机使用怎样的算法来压 缩文件 。可以总是将这个值设置为 zipfile.ZIP_DEFLATED(这指定了 deflate 压缩 算法,它对各种类型的数据都很有效) 。
import zipfile
zip_file = zipfile.ZipFile('new.zip','w')

推荐阅读