当前位置: 首页 > 面试题库 >

如何将PIL Image.image对象转换为base64字符串?

詹正浩
2023-03-14
问题内容

我试图以90度的角度旋转base64编码的图像。完成此操作后,我想将其转换回base64字符串。但不幸的是无法实现这一目标。

到目前为止,这是我所做的:

image_string = StringIO(base64.b64decode(base64_string_here))
image = Image.open(image_string)
angle = 90
rotated_image = image.rotate( angle, expand=1 )

Kindy帮我如何将Rotated_image转换为base64字符串。

dir()是rotated_image的:

[‘Image__transformer’,’__ doc __’,’__ getattr __’,’__ init __’,’__ module
‘,’ repr __’,’
copy’,’ dump’,’ expand’,’ makeself’,’
new’,’category’,’
convert’,’copy’,’crop’,’draft’,’filter’,’format’,’format_description’,’fromstring’,’getbands’,’getbbox’,’getcolors’,’getdata’,’getextrema’
,“ getim”,“ getpalette”,“ getpixel”,“ getprojection”,“ histogram”,“ im”,“
info”,“ load”,“ mode”,“ offset”,“ palette”,“ paste”,“点”,“ putalpha”,“
putdata”,“ putpalette”,“
putpixel”,“量化”,’readonly’,’resize’,’rotate’,’save’,’seek’,’show’,’size’,’split’,’tell’,’thumbnail’,’tobitmap’,’tostring’,’transform’
‘,’转置’,’验证’]


问题答案:

Python 3

import base64
from io import BytesIO

buffered = BytesIO()
image.save(buffered, format="JPEG")
img_str = base64.b64encode(buffered.getvalue())

Python 2

import base64
import cStringIO

buffer = cStringIO.StringIO()
image.save(buffer, format="JPEG")
img_str = base64.b64encode(buffer.getvalue())


 类似资料:
  • 注意:我目前正在处理应用程序的api部分,我没有访问前端的东西。 因此前端将发送给我一个字符串,我需要将其转换为,因为在s3中上传文件的方法只接受,所以我需要将字符串转换为,而且现在重构整个上传方法太复杂了。 有办法做到这一点吗? 谢谢!

  • 问题内容: 我一直在尝试使用 GZIPOutputStream 等,但在理解它们方面没有成功。我要做的就是将字符串- “字符串” 转换为GZIP Base64格式。我怎样才能做到这一点? 编辑: 通过GZIP Base64格式,我的意思是字符串首先使用GZIP压缩,然后转换为Base64 问题答案: 使用Apache Commons Codec 。 这是一个示例类: 哪个输出: 在Linux下,您

  • 问题内容: 我将图像转换为 base64 字符串,并将其从android设备发送到服务器。现在,我需要将该字符串改回图像并将其保存在数据库中。 有什么帮助吗? 问题答案: 尝试这个:

  • 问题内容: 我需要将base64编码字符串转换为ArrayBuffer。base64字符串是用户输入的字符串,它们将通过电子邮件进行复制和粘贴,因此在加载页面时它们不存在。我想在javascript中做到这一点,如果可能的话,不向服务器进行ajax调用。 这看起来不错,但我不知道如何使用代码。 有没有简单的方法(也许是本地方法)进行转换?谢谢 问题答案: 尝试这个:

  • 问题内容: 我将 图片获取 为base64字符串( ) ,下面是将转换为图片的函数, 现在,如果图像为png,则png库将创建图像,而jpg库将引发错误,反之亦然。 问题是当我上传png时效果很好,但是当我 上传jpg文件时 返回此错误 无效的JPEG格式:缺少SOI标记 输入为: 这可能有帮助 问题答案: 您将您的传递给,这开始消耗阅读器,只是发现输入不是有效的PNG,因此返回错误。 然后,将部

  • 有一种方法可以将输入流转换为字符串,并将其编码为base64,对吗? 在我的函数中,我得到了InputStream参数,需要将其插入到Oracle数据库表的BLOB字段中。 有办法做到吗? (我的数据库对象包含用于保存图像的字符串字段,但我找不到任何方法将InputStream转换为base 64格式的字符串。)