python将本地图片转成url_[code]python转换url对应的图片为base64

功能步骤:

通过url获取图片

缩放图片

图片数据放入内存buffer

buffer数据转化为base64编码

特点:

没有磁盘的存储步骤,图片的处理均在内存中。

优势:

没有磁盘的io,所以速度相对较快。

代码:

# coding=utf-8

import urllib2

import cStringIO

from PIL import Image

import base64

def get_img_base64_from_url(url, max_length=800):

"""

从互联网获取图片,并限定宽度最大为max_width,最后转换为base64

url:互联网上的图片url

max_length:图片缩放的最大宽度。大于该长度的图片将会被缩放。

"""

try:

origin_file = cStringIO.StringIO(urllib2.urlopen(url).read())

img = Image.open(origin_file)

w, h = img.size

larger_side = max(w, h)

if larger_side > max_length:

img = img.resize((int(float(max_length) * w / larger_side),

int(float(max_length) * h / larger_side)), Image.ANTIALIAS)

jpeg_image_buffer = cStringIO.StringIO()

img.save(jpeg_image_buffer, format="JPEG")

base64_str = base64.b64encode(jpeg_image_buffer.getvalue())

return base64_str

except Exception, e:

return ""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值