png图像的base64 encoding

PNG 图像的 Base64 编码(超通俗解释)

Base64 编码 :把二进制图片文件(PNG/JPG) 转换成纯文本字符串 ,让图片可以像文字一样复制粘贴、塞进 JSON、放进 HTML/CSS里直接显示。

一、核心作用

  1. 图片 → 一大段乱码英文 + 数字 + 符号(纯文本)
  2. 纯文本 → 直接还原成图片(无需单独图片文件)

二、PNG 的 Base64 固定开头

所有 PNG 图片的 Base64 字符串一定以这个开头

plaintext

复制代码
data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
  • data:image/png;base64, = 声明:这是PNG 图片的 Base64
  • 后面一大串乱码 = 图片内容

三、怎么用(3 个最常见场景)

1. HTML 里直接显示图片

html

预览

复制代码
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...">

2. CSS 背景图

css

复制代码
div {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...");
}

3. JSON / API 传输图片

AI 接口、前后端传图常用:

json

复制代码
{
  "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."
}

四、Python 快速生成 PNG Base64

python

运行

复制代码
import base64

# 图片转 Base64
with open("test.png", "rb") as f:
    base64_str = base64.b64encode(f.read()).decode()

# 加上前缀就是完整可用字符串
full_base64 = f"data:image/png;base64,{base64_str}"
print(full_base64)

五、优缺点

✅ 优点:

  • 纯文本,不怕传输丢失
  • 不用单独存图片文件,一个字符串搞定
  • AI 接口、前端渲染极常用

❌ 缺点:

  • 体积比原图大 1/3
  • 不适合大图(建议 < 200KB)
相关推荐
AndrewHZ14 小时前
图像处理入门020 | 图像二值化:阈值分割基础 —— cv2.threshold 五种类型与自适应阈值铺垫
图像处理·opencv·文档扫描·阈值分割·图像二值化·trackbar·自适应阈值
笑霸final16 小时前
不用上传服务器!用 Vue3 + ONNX Runtime Web 在浏览器本地实现智能抠图
运维·前端·图像处理·ai·onnx·canva可画·web性能优化
A hao2 天前
户外LED广告牌需要什么防护等级IP级别?
大数据·网络·图像处理·人工智能·网络协议·tcp/ip·广告
一只嵌入式爱好者2 天前
深入理解ISP
图像处理·isp
sali-tec2 天前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
阿图灵3 天前
OpenCV 绘图五件套:画圆、文本、线段、矩形与椭圆
图像处理·人工智能·python·opencv·计算机视觉·绘图
成都佳洋光电科技有限公司3 天前
一文了解机器视觉成像
图像处理·人工智能·工业相机·工业镜头·短波红外
星月夜语3 天前
2026 TPAMI | StarIR:空间-频域融合的高效图像复原
图像处理·深度学习·计算机视觉
爱吃火鸡面呀3 天前
图片拼接与答题卡判断对错:从图像处理到自动判卷的完整实践
图像处理·人工智能
AndrewHZ3 天前
图像处理入门018 | 简易图像浏览器开发:用 OpenCV + Tkinter 打造你的第一个图像 GUI 工具
图像处理·人工智能·opencv·canvas·tkinter·事件绑定