【问题标题】:Python toDataUrl EquivalentPython toDataUrl 等效
【发布时间】:2014-10-21 11:09:42
【问题描述】:

我正在尝试在 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 格式。我相信它是 PNG 格式。

那么无论如何我可以执行与 todataurl url 相同的操作吗?我需要它是 jpeg 格式并具有特定的质量。

如果有人对此有任何想法,将不胜感激

【问题讨论】:

  • @BrenBarn -- 它看起来来自 PIL。
  • PIL Image.new。 im = Image.new()。我也会添加这个问题

标签: javascript python canvas


【解决方案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())

width=50 和 height=50 的示例输出:

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

【讨论】:

    猜你喜欢
    • 2011-09-24
    • 2012-01-29
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2013-05-26
    相关资源
    最近更新 更多