用 PIL 写了个简单的缩略图生成程序
来源:互联网 发布:java帝国时代 编辑:程序博客网 时间:2024/04/30 15:04
啥也不说了,上代码:
#!/usr/bin/env python
#coding=utf-8
importImage
importos
defmake_thumb(path,sizes=(75,32,16)):
"""
缩略图生成程序 by Neil Chen
sizes 参数传递要生成的尺寸,可以生成多种尺寸
"""
base,ext=os.path.splitext(path)
try:
im=Image.open(path)
exceptIOError:
return
mode=im.mode
ifmodenotin('L','RGB'):
ifmode=='RGBA':
#透明图片需要加白色底
alpha=im.split()[3]
bgmask=alpha.point(lambdax:255-x)
im=im.convert('RGB')
# paste(color, box, mask)
im.paste((255,255,255),None,bgmask)
else:
im=im.convert('RGB')
width,height=im.size
ifwidth==height:
region=im
else:
ifwidth>height:
delta=(width-height)/2
box=(delta,0,delta+height,height)
else:
delta=(height-width)/2
box=(0,delta,width,delta+width)
region=im.crop(box)
forsizeinsizes:
filename=base+"_"+"%sx%s"%(str(size),str(size))+".jpg"
thumb=region.resize((size,size),Image.ANTIALIAS)
thumb.save(filename,quality=100)#默认 JPEG 保存质量是 75,不太清楚。可选值(0~100)
if__name__=='__main__':
make_thumb(r"c:/testimg/test.jpg")
make_thumb(r"c:/testimg/test2.jpg")
make_thumb(r"c:/testimg/a.jpg")
make_thumb(r"c:/testimg/DSCF0111.jpg")
make_thumb(r"c:/testimg/test3.jpg")
效果:
引自:http://www.cnblogs.com/RChen/archive/2007/03/31/pil_thumb.html
- 用 PIL 写了个简单的缩略图生成程序
- 用 PIL 写了个简单的缩略图生成程序
- 用 PIL 写了个简单的缩略图生成程序
- 写个简单的生成奇阶幻方程序!
- Django上传图片用PIL生成缩略图
- PIL 生成缩略图
- 用php写了个简单的验证码破解程序
- 写了个生成UID的算法
- 生成缩略图简单的类
- 写了个程序
- 非常简单PHP缩略图生成程序源代码
- 非常简单PHP缩略图生成程序源代码
- 写了个程序生成bmp图像,可是发现打不开
- 用PHP写的一个生成标准缩略图的类
- 闲来无事,写了个简单的c#生成静态html文件,封装类
- 使用PIL生成用户头像缩略图
- 用hadoop写了个简单的并行爬虫
- 用Django写了个简单的图片识别分类
- 64位应用程序的开发
- 分治合并排序
- border-images
- IOS剪切板
- 深入研究Servlet线程安全性问题
- 用 PIL 写了个简单的缩略图生成程序
- 早上起来的晚了,来到办公室已经快10点了。
- http://blog.csdn.net
- TL-R478 R488路由器QOS设置
- 左手是糖 右手是匕首
- mms
- php-Arrays 函数-array_multisort-对多个数组或多维数组进行排序
- cocos2d 中使用UiKit 各种view
- midl : error MIDL2398 : cannot execute MIDL engine