我可以让PIL使用文件:Image.open('example.jpg')
。
有没有办法对代码中创建的jpg执行相同操作,而无需将该jpg写入HDD:Image.open('binaryObject')
。
我试过给PIL一个函数的二进制输出,我试过(但可能有错误)解析器属性:http://effbot.org/imagingbook/imagefile.htm
from PIL import Image
f = open(image.jpg, "rb")
f_data = f.read()
try:
Image.parser()
parser.feed(f_data)
parser.close()
print "OK"
except:
print "fail"
我的硬盘无法跟上!
答案 0 :(得分:2)
不是写入磁盘,而是使用StringIO
对象将图像写入内存:
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
fake_file = StringIO()
fake_file.write(f_data)
现在,您可以将fake_file
作为文件句柄传递给Image()
。