python实现png文件以Base64形式存储在程序资源中,运行时动态解码为二进制。
step1:
C:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py
C盘的hello.py:
1.读取指定路径的图片文件。
2.使用matplotlib库显示图片,隐藏坐标轴。
from PIL import Image
import matplotlib.pyplot as plt
file_path = r'C:\Users\wangrusheng\Downloads\Spain.png'
# 打开图片并显示
img = Image.open(file_path)
plt.imshow(img)
plt.axis('off') # 关闭坐标轴
plt.show()
step2:
D:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py
D盘的hello.py:
1.将指定图片文件转换为Base64编码字符串,并打印输出。
2.清理Base64字符串中的换行和空格。
3.将Base64字符串解码为二进制图像数据。
4.使用matplotlib显示解码后的图像,同样隐藏坐标轴。
from PIL import Image
import matplotlib.pyplot as plt
import base64
from io import BytesIO
import base64
with open(r"C:\Users\wangrusheng\Downloads\Spain.png", "rb") as image_file:
img_base64 = base64.b64encode(image_file.read()).decode("utf-8")
print(img_base64)
# Base64编码的图片数据(示例数据,需要替换为你的实际Base64编码)
# img_base64 = """
# iVBORw0KGgoAAAANSUhEUgAAA...(这里替换为你的完整Base64字符串)
# """
# 移除字符串中的换行和空格(如果有)
img_base64 = img_base64.strip().replace("\n", "")
# 解码Base64字符串为二进制数据
img_data = base64.b64decode(img_base64)
# 从二进制数据创建图像对象
img = Image.open(BytesIO(img_data))
# 显示图像
plt.imshow(img)
plt.axis('off') # 关闭坐标轴
plt.show()
end

4766

被折叠的 条评论
为什么被折叠?



