Python toDataUrl等价

时间:2014-08-27 18:20:42

标签: javascript python canvas

我正在尝试在python中执行与JavaScript中相同的操作。在JavaScript中,我可以轻松地在画布上绘制,然后使用toDataUrl(imageFormat,quality)来获取base64编码的字符串中的图像。

Python中有什么可以做同样的事情吗?

我在Python中完成了这个

from PIL import Image,

im = Image.new('L', (width, height))
output = StringIO()
im.save(output, "JPEG", quality=89)

但输出不是JPEG格式。我相信它是在巴布亚新几内亚。

无论如何,我可以执行与todataurl url相同的操作吗?我需要这个以jpeg和特定的质量。

如果有人对如何解决这个问题有任何想法,我们将不胜感激

1 个答案:

答案 0 :(得分:1)

试试这个:

import base64
from PIL import Image
import StringIO

im = Image.new('L', (width, height))
output = StringIO.StringIO()
im.save(output, "JPEG", quality=89)

encoded_string = base64.b64encode(output.getvalue())

宽度= 50且高度= 50的样本输出:

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAQCAwMDAgQDAwMEBAQEBQkGBQUFBQsICAYJDQsNDQ0LDAwO
EBQRDg8TDwwMEhgSExUWFxcXDhEZGxkWGhQWFxb/wAALCAAyADIBAREA/8QAHwAAAQUBAQEBAQEAAAAA
AAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEI
I0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1
dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi
4+Tl5ufo6erx8vP09fb3+Pn6/9oACAEBAAA/APz/AKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKK//2Q==