最新消息:时间抓起来说是金子,抓不住就是流水。

PYTHON 生成缩略图截取掉中间位置

Python 老子黑牵翻 6578浏览 0评论

欲用此python脚本,需要安装python环境及扩展,在linux下直接yum安装
yum -y install python python-imaging
———————————————————————————————————-

#!/usr/bin/env python
#coding=utf-8
import re,urllib2,os,sys,urllib,time,subprocess,socket,cStringIO,urllib2,Image,random,glob,shutil,optparse

def suoluetu(filename=None,w=0,h=0):
        outfile="suoluetu"+filename
        x=251.0
        y=390.0
        if (w/x) > (h/y):
                #宽度大爷高度
                #print "ko"
                im=Image.open(filename)
                gao=h/y
                ww=int(w/gao)
                region=im.resize((ww,y))
                region.save(outfile,quality=100)
                qie=ww-x
                box=(qie/2,0,x+qie/2,y)
                img=Image.open(outfile)
                region=img.crop(box)
                region.save(outfile,quality=100)
        else:
                #高度大于宽度
                #print "ok"
                im=Image.open(filename)
                gao=w/x
                ww=int(h/gao)
                region=im.resize((x,ww))
                region.save(outfile,quality=100)
                qie=ww-y
                box=(0,qie/2,x,y+qie/2)
                img=Image.open(outfile)
                region=img.crop(box)
                region.save(outfile,quality=100)

img=Image.open("yuantu.jpg")
x,y=img.size
suoluetu("yuantu.jpg",x,y)

———————————————————————————————————–

操作方法:
上传一张图片,和上面的py脚本放在一个目录下,直接运行:python suoluetu.py
然后就会生成宽251,高390的缩略图

附上生成图片的效果:

原图:

yuantu

生成后的缩略图:suoluetu

 

 

转载请注明:LINUX服务器运维架构技术分享 » PYTHON 生成缩略图截取掉中间位置

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址