PIL剪贴板图像转Base64字符串
我想从剪贴板获取一张图片,并把它的数据转换成一种叫做base64的编码字符串,这样我就可以把它放进HTML的img标签里。
我试过以下方法:
from PIL import ImageGrab
from base64 import encodestring
img = ImageGrab.grabclipboard()
imgStr = encodestring(img.fp.read())
还有其他一些组合,但都没有正确显示出图片。
我在这方面的文档上遇到了一些困难;有没有人知道怎么做到这一点?
1 个回答
10
ImageGrab.grabclipboard()
这个函数会返回一个 Image
对象。你需要把它转换成一个大家都知道的图片格式,比如 jpeg 或 png,然后再把得到的字符串用 base64 编码,这样才能在 HTML 的 img 标签中使用:
import cStringIO
jpeg_image_buffer = cStringIO.StringIO()
image.save(jpeg_image_buffer, format="JPEG")
imgStr = base64.b64encode(jpeg_image_buffer.getvalue())
(这个回答已经被编辑过,以修正错误)。