首页 > 其他分享 >(教程)如何在 SVG 中嵌入 base64 图像

(教程)如何在 SVG 中嵌入 base64 图像

时间:2024-11-13 18:44:41浏览次数:3  
标签:教程 嵌入 SVG image base64 图像 final

创建 SVG 文件时,您可以通过多种方式嵌入图像,包括本地图像、外部 URL 和使用 base64 图像。本教程介绍如何嵌入 base64 图像以及为什么要这样做。

为什么要将图像嵌入为 base64?

将图像嵌入为 base64 内容将减少所需的请求数,因为图像现在是 SVG 文件的一部分。但是,base64 内容将比图像大 20-25%。所以这种方法对中小型图像有益,但大型图像对性能的影响要大得多。

如何在 SVG 中嵌入 base64 图像

    •    将图像转换为 base64 字符串(此处显示 Java 代码)

    •    创建一个具有空 src 值的 img 标签

    •    在 src 属性中构造数据 URI

    1    添加数据媒体类型以匹配原始图像

    2    添加与编码中使用的字符集匹配的字符集

    3    添加您之前创建的 base64 数据

以下是将 base64 图像嵌入 SVG 的代码……

final ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
//Can be any support image format
final String formatName = "jpg";

//Convert image data to Base64 and write date to the output stream
final BufferedImage image = ImageIO.read(new File("/path/to/file"));
ImageIO.write(image, formatName, Base64.getEncoder().wrap(os));

//Create Base64 string
final String base64 = os.toString(StandardCharsets.UTF_8.name());

} catch (final IOException ioe) {
throw new UncheckedIOException(ioe);
}
<image href="" alt="Description of the image" />
<image href="data:image/jpeg;" alt="Description of the image" />
<image href="data:image/jpeg;charset=utf-8;" alt="Description of the image" />
<image href="data:image/jpeg;charset=utf-8;base64,<DATA>" alt="Description of the image" />

标签:教程,嵌入,SVG,image,base64,图像,final
From: https://blog.csdn.net/2401_87189539/article/details/143749765

相关文章

  • YashanDB单机安装教程
    YashanDB数据库安装过程基于CentOS7.8官方建议配置:本次安装配置:操作系统:CentOS7.8CPU:X86_644C内存:8G硬盘:100G文件系统:xfs本次使用软件包:yashandb-personal-23.1.1.100-linux-x86_64.tar.gz1.从官网下载安装包【个人学习版】,根据操作系统选择对应版本,并......
  • VMware虚拟机安装Windows11保姆级教程(最新步骤+踩坑)
    文章目录一、镜像下载:Windows11x64最新版(包含专业版、家庭版、教育版,安装Windows11的时候可以自行选择系统版本)链接:https://pan.baidu.com/s/1Vnh-7nphe_uQleW56PKDGQ提取码:E288二、配置虚拟机1.点击创建新的虚拟机2.选择典型,然后点击下一步3.选择稍后安装操作系统......
  • GEE 教程——Landsat 9 影像的筛选和属性的批量添加
    目录简介函数aggregate_histogram(property)Arguments:Returns: Dictionarysplit(regex, flags)Arguments:Returns: List代码结果简介GEE教程——Landsat9影像的筛选和属性的批量添加函数aggregate_histogram(property)Aggregatesoveragivenpropert......
  • GEE 训练教程——通过点构建缓冲区然后构建格网
    目录简介正常构建格网的过程代码解释代码结果简介GEE训练教程——通过点构建缓冲区然后构建格网正常构建格网的过程构建格网的主要流程如下:1.确定研究区域:首先需要确定要构建格网的研究区域,可以是基于经纬度或行政边界等范围。2.确定格网类型:根据研究需求,确定......
  • GEE教程——导出2013年至今Landsat 8 TOA真彩色影像视频
    目录简介代码解释函数ee.List.sequence(start, end, step, count)Arguments:Returns: Listee.Algorithms.Landsat.simpleCloudScore(image)Arguments:Returns: Imageee.Filter.calendarRange(start, end, field)Arguments:Returns: FilterExport.video.to......
  • 【Maya 2025软件下载与安装教程 含补丁】
     1、安装包「maya2025」:链接:https://pan.quark.cn/s/de0d9d452470提取码:Rhjp「maya2024」:链接:https://pan.quark.cn/s/887e52b68f51提取码:jvyp「maya2023」:链接:https://pan.quark.cn/s/71f46b3d26e5提取码:b6mA「maya2020」:链接:https://pan.quark.cn/s/7b0e8b98b52e......
  • 【JetBrains GoLand 2024软件下载与安装教程】
     1、安装包GoLand2024:链接:https://pan.quark.cn/s/578b3b1d9379提取码:pn3LGoLand2021:链接:https://pan.quark.cn/s/c4c9a3112b2c提取码:i9NfGoLand2018:链接:https://pan.quark.cn/s/5b9cc3b12cab提取码:adEW2、安装教程(建议关闭杀毒软件)1)       下载并......
  • 红客入门教程,零基础入门到精通,收藏这篇就够了
    渗透测试是门技术,也是一门艺术。参考书籍《欺骗的艺术》《入侵的艺术》《社会工程学攻击1》《社会工程学攻击2》这门技术(艺术)一开始也不是每个人都会的,正所谓没有人一出生就会走路,从不懂到入门到深谙,一步步慢慢来,每个人都是这样;但是在这个过程中,思路无疑是最重要的,没有做......
  • Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】
    下面是项目级完整配置1➡eslint:【吐血分享,博主踩过的坑你跳过去!!跳不过去?太过分了给博主打钱】浏览器自动打开项目:你想释放双手吗?你想每天早上打开电脑运行完项目自动在浏览器打开吗?不要9998,不要998,只要你在我们爱的package.json中配置一下即可显示。如下图所示:是的......
  • 【JetBrains DataGrip 2024软件下载与安装教程】
    1、安装包datagrip2024:链接:https://pan.quark.cn/s/60f7993eae45提取码:TfaJdatagrip-2023.3.2:链接:https://pan.quark.cn/s/d65297b4e648提取码:6CdA2、安装教程(建议关闭杀毒软件)1)       解压下载安装包,双击datagrip-2024.1.2.exe安装,弹窗安装对话框  2)......