gpt4 book ai didi

python - 如何将 base64 转换为 TIFF 图像或 PNG 图像?

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:14 25 4
gpt4 key购买 nike

我有一个 TIFF 图像类型的 base64 编码字符串,我想使用 python 将它转换为 PNG 图像。我看到了一个可以操作 tiff 文件的包 pillow,但是如何处理给定的“TIFF 的 base64”?

最佳答案

base64tiff:

import base64

text_base64 = 'SUkqAAgAAAASAP4ABAABAAAAAAAAAAABAwABAAAACgAAAAEBAwABAAAACgAAAAIBAwADAAAA5gAAAAMBAwABAAAAsoAAAAYBAwABAAAAAgAAABEBBAABAAAAgAMAABIBCQABAAAAAQAAABUBAwABAAAAAwAAABYBAwABAAAAKAAAABcBBAABAAAAPwAAABoBBQABAAAA7AAAABsBBQABAAAA9AAAABwBAwABAAAAAQAAACgBAwABAAAAAgAAADIBAgAUAAAA/AAAAD0BAwABAAAAAgAAAGmHBAABAAAAEAEAAF4BAAAIAAgACABIAAAAAQAAAEgAAAABAAAAMjAxOTowNzoyMyAyMTozNDoxOQAGAACQBwAEAAAAMDIyMQGRBwAEAAAAAQIDAACgBwAEAAAAMDEwMAGgCQABAAAAAQAAAAKgCQABAAAACgAAAAOgCQABAAAACgAAAAAAAAAGAAMBAwABAAAABgAAABoBCQABAAAASAAAABsBCQABAAAASAAAACgBCQABAAAAAgAAAAECBAABAAAArAEAAAICBAABAAAA1AEAAAAAAAD/2P/gABBKRklGAAEBAAABAAEAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/AABEIAAoACgMBIgACEQEDEQH/xAAXAAADAQAAAAAAAAAAAAAAAAAABwgJ/8QAIBAAAgICAgMBAQAAAAAAAAAAAgMBBAUGBxEACCETEv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwBi60fFuU1XB5beI0a3tWVxGMv2RzeECzk77nALXymDn9LIsE4UkEjIrMJWMH/H4hOfJXsNzHq3Iuy6xhd0cnF4jL2qFJbqVawwEpcS1wTWrJjCgRjszIiKfszMzM+Htlu+6at7CbVhdY2/YMHi1NQ5dLHZJ1ZAG2sprThYFAwRsMzKeuyIyKe5mZ80MoVKtCjXo0ayatSsoUoQlcAtQDHQgIx8EYiIiIj5ER4H/9l4nPv//z8DAwMjIyMDKvgPFgeSQCkIGxnABTGl4ArgsnDFyAwi9eKRRXMYhItmL5p34Gpw+QhTI7J2AOTAPvUA'

bytes_base64 = text_base64.encode()
data = base64.b64decode(bytes_base64)
open('image.tiff', 'wb').write(data)

tiffbase64html:

import base64

data = open('image.tiff', 'rb').read()
bytes_base64 = base64.b64encode(data)
text_base64 = bytes_base64.decode()

print(text_base64)

html = '<img src="data:image/tiff;base64,' + text_base64 + '">'
open('output-tiff.html', 'w').write(html)

可能大多数浏览器无法显示 tiff,因此文件 .html 可能会显示损坏的图像。您必须将它从页面保存到文件,然后您才能看到 tiff。


这是示例中使用的图像,但此处为 png 格式:

face.tiff


编辑: 具有相同图像但格式为 png 的示例。此 html 将在每个浏览器中显示图像。

# base64 to png

import base64

text_base64 = 'iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAAMklEQVR4nEXNwQkAMBACwfFI/y2bxwXia8FFUwF1pCCNJTIIwaD04ctsKRyaldI/9i8u1iwOE6FA880AAAAASUVORK5CYII='

bytes_base64 = text_base64.encode()
data = base64.b64decode(bytes_base64)
open('image.png', 'wb').write(data)

# png to base64 and html

import base64

data = open('image.png', 'rb').read()
bytes_base64 = base64.b64encode(data)
text_base64 = bytes_base64.decode()

print(text_base64)

html = '<img src="data:image/png;base64,' + text_base64 + '">'
open('output-png.html', 'w').write(html)

关于python - 如何将 base64 转换为 TIFF 图像或 PNG 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com