当前位置: 首页 > news >正文

图片转Base64

在Python中, 可以使用内置的base64模块以及图像处理库(如PIL, 也称为Pillow)来将图片转换为Base64编码的字符串.
以下是一个简单的示例, 说明如何实现这一过程:
首先, 需要安装Pillow库(如果尚未安装), 可以使用pip来安装: pip install pillow
然后, 可以使用以下Python代码将图片转换为Base64编码的字符串:
import base64  
from io import BytesIO  
from PIL import Image  
  
def image_to_base64(image_path, image_format="JPEG"):  
    """  
    将图片转换为Base64编码的字符串  
    :param image_path: 图片路径  
    :param image_format: 图片格式(如 "PNG", "JPEG" 等)  
    :return: Base64编码的字符串  
    """  
    with Image.open(image_path) as img:  
        buffered = BytesIO()  
        img.save(buffered, format=image_format.upper())  
        img_byte_arr = buffered.getvalue()  
      
    base64_str = base64.b64encode(img_byte_arr).decode('utf-8')  
    return base64_str  
  
# 使用示例  
image_path = 'path/to/your/image.jpg'  # 替换为你的图片路径  
base64_data = image_to_base64(image_path)  
print(base64_data)  # 输出Base64编码的字符串
在上面的代码中, image_to_base64函数接受两个参数: 图片路径和图片格式.
它首先使用Pillow库的Image.open方法打开图片, 然后将图片保存到一个字节缓冲区BytesIO中.
接下来, 它从缓冲区中获取字节数组, 并使用base64.b64encode函数进行Base64编码.
最后, 它将编码后的字节数组解码为UTF-8格式的字符串并返回.

请注意, 你需要将image_path变量替换为你实际要转换的图片的路径.
此外, 如果你想要以不同的格式(如PNG)保存图片, 只需更改image_format参数即可.
使用Base64编码作为网站图标.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>web应用</title>

    <link rel="icon" type="image/x-icon"
          href="data:image/x-icon;base64, 
          /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK
          DBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgN
          DRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQ
          ABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
          AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RF
          RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5
          usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAEC
          AwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
          YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaH
          iImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3
          +Pn6/9oADAMBAAIRAxEAPwD3GfWdNtmmWa/tkeFS0iGVdygdcjOaw9F1aa3vrhNWmnh+1OksEdwhxHvJwgbG
          BgbBjP3s+tV4LQy69BDNpsh8nUri5Mj252AFH2sGI29SuMHPPtWpete6tLZ2o065trcXKSzyTGPBVDvAG1iSSwTt0zQB/9k=">
</head>
<body>
</body>
</html>

image-20240613021614943

相关文章:

  • 打造专属 Switch 模拟游戏机
  • android studio开发时提示 TLS 握手错误解决办法
  • 【MATLAB源码-第224期】基于matlab的快跳频系统仿真采用4FSK,模拟了单音干扰,宽带干扰以及部分频带干扰,输出误码率曲线以及各节点图像。
  • 数据结构习题(快期末了)
  • 【NLP练习】Transformer中的位置编码
  • Go模板页面浏览器显示HTML源码问题
  • 最新下载:EasyRecovery易恢复软件安装视频教程
  • GEE数据融合——Landsat (collection 2,level 2 )4、5、7、8、9长时间序列影像数据融合和视频导出分析
  • Idea jdk配置的地方 启动时指定切换的地方
  • 数据治理新视角:质量与真实度提升,让数据更有价值!
  • 【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
  • Unity 从0开始编写一个技能编辑器_02_Buff系统的生命周期
  • 人脸匹配——OpenCV
  • 预编码算法(个人总结)
  • C语言详解(预编译)
  • 【在线OJ】发帖功能前后段代码实现
  • 昂科烧录器支持Prolific旺玖科技的电力监控芯片PL7413C1FIG
  • QPS、TPS、并发量、PV、UV
  • 自动驾驶基础一车辆模型
  • base上海,数据科学,数据挖掘,数据分析等岗位求收留
  • “五一”假期第四天,全社会跨区域人员流动量预计超2.7亿人次
  • “网约摩托”在部分县城上线:起步价五六元,专家建议纳入监管
  • 摩天大楼天津117大厦复工背后:停工近十年,未知挑战和压力仍在
  • 南京106亿元成交19宗涉宅地块:建邺区地块楼面单价重回4.5万元
  • 神舟十九号载人飞行任务取得圆满成功
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费