javascript - Python toDataUrl 等效项

标签 javascript python canvas

我正在尝试在 python 中做与在 JavaScript 中完全相同的事情。在 JavaScript 中,我可以轻松地在 Canvas 上绘图,然后使用 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 格式并具有特定的质量。

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

最佳答案

试试这个:

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==

关于javascript - Python toDataUrl 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25534387/

相关文章:

javascript - 检查字符串是否以前缀开头

javascript - 播放视频时隐藏控制栏

python - 如何在 Python 中设置模块的文件名,以便模块中发生的异常使用该文件名?

python - pandas DataFrame 的嵌套列表字典

html - 从具有响应式布局的 Canvas 中捕获切片图像

javascript - JavaScript 会收集垃圾吗?

javascript - 错误 : Cannot use import statement outside a module THREE. OrbitControl

python - DRF通过功能传输错误

canvas - Canvas 中需要具有重复图案的连续剖面线

javascript - 在 FileSaver.js 中保存文件后关闭窗口