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


def waterMark(**args):
args_key = {'ori_img':'','dst_img':'','mark_img':'','water_opt':''}
arg = {}
for key in args_key:
if key in args:
arg[key] = args[key]
im = image.open(arg['ori_img'])
ori_w,ori_h = im.size
mark_im = image.open(arg['mark_img'])
mark_w,mark_h = mark_im.size
option ={'leftup':(0,0),'rightup':(ori_w-mark_w,0),'leftlow':(0,ori_h-mark_h),
'rightlow':(ori_w-mark_w,ori_h-mark_h)
}
im.paste(mark_im,option[arg['water_opt']],mark_im.convert('RGBA'))
im.save(arg['dst_img'])
#Demon
#源图片
ori_img = 'D:/tt.jpg'
#水印标
mark_img = 'D:/mark.png'
#水印位置(右下)
water_opt = 'rightlow'
#目标图片
dst_img = 'D:/python_2.jpg'
#目标图片大小
dst_w = 94
dst_h = 94
#保存的图片质量
save_q = 35
#裁剪压缩
clipResizeImg(ori_img=ori_img,dst_img=dst_img,dst_w=dst_w,dst_h=dst_h,save_q = save_q)
#等比例压缩
#resizeImg(ori_img=ori_img,dst_img=dst_img,dst_w=dst_w,dst_h=dst_h,save_q=save_q)
#水印
#waterMark(ori_img=ori_img,dst_img=dst_img,mark_img=mark_img,water_opt=water_opt)
python:PIL图像处理PIL (Python Imaging Library)
Python图像处理库python图像压缩函数,该库支持多种文件格式python图像压缩函数 , 提供强大的图像处理功能 。
PIL中最重要的类是Image类,该类在Image模块中定义 。
【python图像压缩函数 python压缩图片像素】 从文件加载图像python图像压缩函数:
如果成功,这个函数返回一个Image对象 。现在你可以使用该对象的属性来探索文件的内容 。
format 属性指定了图像文件的格式,如果图像不是从文件中加载的则为 None。
size 属性是一个2个元素的元组,包含图像宽度和高度(像素) 。
mode 属性定义了像素格式 , 常用的像素格式为python图像压缩函数:“L” (luminance) - 灰度图, “RGB” , “CMYK” 。
如果文件打开失败, 将抛出IOError异常 。
一旦你拥有一个Image类的实例,你就可以用该类定义的方法操作图像 。比如:显示
( show() 的标准实现不是很有效率 , 因为它将图像保存到一个临时文件 , 然后调用外部工具(比如系统的默认图片查看软件)显示图像 。该函数将是一个非常方便的调试和测试工具 。)
接下来的部分展示了该库提供的不同功能 。
PIL支持多种图像格式 。从磁盘中读取文件,只需使用 Image 模块中的 open 函数 。不需要提供文件的图像格式 。PIL库将根据文件内容自动检测 。
如果要保存到文件,使用 Image 模块中的 save 函数 。当保存文件时,文件名很重要,除非指定格式,否则PIL库将根据文件的扩展名来决定使用哪种格式保存 。
** 转换文件到JPEG **
save 函数的第二个参数可以指定使用的文件格式 。如果文件名中使用了一个非标准的扩展名,则必须通过第二个参数来指定文件格式 。
** 创建JPEG缩略图 **
需要注意的是,PIL只有在需要的时候才加载像素数据 。当你打开一个文件时 , PIL只是读取文件头获得文件格式、图像模式、图像大小等属性 , 而像素数据只有在需要的时候才会加载 。
这意味着打开一个图像文件是一个非常快的操作,不会受文件大小和压缩算法类型的影响 。
** 获得图像信息 **
Image 类提供了某些方法,可以操作图像的子区域 。提取图像的某个子区域,使用 crop() 函数 。
** 复制图像的子区域 **
定义区域使用一个包含4个元素的元组,(left, upper, right, lower) 。坐标原点位于左上角 。上面的例子提取的子区域包含300x300个像素 。

推荐阅读