为什么我的 base64 编码的 png 在我的 svg 中不可见?

2023-12-27

我想将 png 转换为 base64 并将编码后的字符串插入 svg 中。

fIm = open('name.png', 'rb')
dataIm = fIm.read().encode("base64").replace('\n','')
baseIm += '<g id="%s"><image xlink:href="data:image/png;base64,%s" width="%s" height="%s"/></g>' % (newVal, dataIm, curX, curY)

结果图像不显示。

有什么问题?

这是输出 svg 文件:

<?xml version='1.0' ?>
<svg viewBox='0 0 200 200' width='200' height='200' xmlns='http://www.w3.org/2000/svg'>
<defs><g  id="name">
<image xlink:href="data:image/png;base64,..." width='20' height='20'/>
</g></defs>
<use xlink:href="#name" x='30' y='30' />
</svg>

solution

fIm = open('switchToMinus.png', 'rb')
dataIm = fIm.read().encode("base64").replace('\n','')
addText = '<image xlink:href="data:image/png;base64,{0}" width="20" height="20" x="40" y="40" />'.format(dataIm)
startSvg = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="240px" height="240px" viewBox="0 0 240 240">
"""

endSvg = """
</svg>
"""

if __name__ == '__main__':
    f = open('image2.svg','w')
    f.write( startSvg + addText + endSvg )
    f.close()
    print 'Okay!'

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 base64 编码的 png 在我的 svg 中不可见? 的相关文章

  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 将 SVG 文件转换为多个不同大小的 PNG 文件

    我有一个 SVG 格式的徽标图像 我想知道是否有办法生成多个不同大小的 png 文件 例如 我设置了 20 个不同的宽度和高度 它会生成 20 个 PNG 文件 如果我必须一次处理 5 张图像也没关系 我已经安装了 illustrator
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2

随机推荐

  • OverflowError Python int 太大,无法转换为 C long

    usr bin python import sys math n input enter a number to find the factors j flag b 0l False 0l for b in xrange 1 n 1 a n
  • 如何在android中设置ListView所选项目交替文本颜色

    我有一个带有图像视图和文本视图的自定义列表视图 我希望当用户选择一个项目时 文本视图颜色应该改变 而所有其他文本视图应该保持默认 这是我的 xml 列表视图 xml
  • 带代理的 Selenium 返回空网站

    我无法通过代理从使用 selenium 的网站获取页面源 HTML 这是我的代码 from selenium webdriver chrome options import Options from selenium import webd
  • VS 2008 Intellisense 右键单击​​时挂起

    我在 Visual Studio 2008 SP1 中有一个相当大的 C 解决方案 当我右键单击时 我在状态栏中看到更新的智能感知 整个工作室冻结了几分钟 2005 年右键单击效果很好 有什么解决方法吗 在大型项目上更新智能感知只会降低生产
  • 使用 fusedLocationAPI.requestLocationUpdates 不会调用 onLocationChanged

    我一直在尝试使用 fusedLocationApi 来获取我当前的位置 我正在使用带有模拟 Nexus 6 的 android studio 根据在线文档https developer android com training locati
  • Crontab - 简单的 echo 未运行

    我有这样的情况 我想在 Linux 服务器上使用 crontab 安排一个作业 我不是超级用户 所以我只编辑 使用 crontab l 编辑器 vim 我的 crontab 文件 为了测试 我放在那里 echo asdf 并且该作业没有运行
  • C++ 模板继承方案

    我想知道我的编码方式是否正确 我可以创建一个继承模板类的模板类吗 如果可以的话 以下代码是否正确 template
  • 从 HTML5 Canvas 导出矢量图形

    我很好奇这可能吗 我有兴趣在 HTML5 中构建一个矢量绘图应用程序 它能够保存为矢量 而不仅仅是 JPG PNG BMP Thanks 不 这是不可能的 绘图操作完成后 剩下的一切都在canvas是一堆像素 您必须保留所有绘图选项 然后使
  • 在 Visual Studio 中创建 hpp 文件

    当我要使用 Visual Studio 将新文件添加到项目中并且我希望它是 hpp only h文件可用 如何创建 hpp files 添加新文件时 您可以将扩展名更改为您想要的任何内容 只需将名称从 Header h 或它为您提供的任何默
  • Java HttpURLConnection - 带 Cookie 的 POST

    我正在尝试发送带有 cookie 的发布请求 这是代码 try String query URLEncoder encode key UTF 8 URLEncoder encode value UTF 8 String cookies se
  • 反序列化时二进制流“0”不包含有效的 BinaryHeader 错误

    在过去两天寻找这个问题的答案后 我希望这里有人能提供帮助 我使用 VS2012 用 c 编写了一个程序 该程序使用 BinaryFormatter 保存用户的项目数据 以将可序列化的类序列化为 Stream 然后再将其保存到文件中 该程序已
  • JavaScript 数组上的 getter/setter?

    有没有办法在数组上获取 设置行为 我想象这样的事情 var arr one two three var arr new Array for var i 0 i lt arr length i arr i defineGetter value
  • 如何从 ngModel 渲染 HTML 标签?

    我使用 AngularJS 将 JS 变量绑定到我的 HTML 内容 它工作得很好 JS var app angular module Tabs controller TabsController scope function scope
  • 如何以唯一的顺序对数组进行排序

    给定一个数组 var myList Normal Urgent Alert Casual Follow up 我想以下拉菜单的形式输出这个列表 我想 Urgent 首先出现 然后是 Alert 其余的应按字母顺序排序 我知道我可以按字母顺序
  • 如何在 Hapi 中获取请求的完整 URL

    在我的 hapijs 应用程序中 给定Request object http hapijs com api request object 如何找到原始的 未解析的 未修改的 URL function getRequestUrl reques
  • 您使用 Matlab/F#/R 进行数据分析和建模算法的经验

    我已经使用 F 一段时间来对算法进行建模 然后再用 C 进行编码 之后还使用它来检查 C 代码的结果 以及对照实际记录的数据 对于建模方面 它非常方便 但对于 数据混搭 之类的东西 从 CSV 和其他来源提取数据 生成统计数据 绘制图表等
  • 无法将 RoboMongo 与 Amazon 实例连接

    我无法将 RoboMongo 与 Amazon 实例连接 试过这个http blog mongohq com robomongo your next shell http blog mongohq com robomongo your ne
  • Django ModelForm 有一个隐藏的输入

    所以我有我的 TagStatus 模型 我正在尝试为其制作一个 ModelForm 但是 我的表单要求用 tag name 填充隐藏输入 我一直在浏览文档 但不知道如何使标签字段成为隐藏输入 也许 ModelForm 不是正确的选择 模型
  • 如何使用 Android ZoomButtonsController?

    好吧 我已经无计可施了 我不知道该怎么做使用 android widget ZoomButtonsController http developer android com reference android widget ZoomButt
  • 为什么我的 base64 编码的 png 在我的 svg 中不可见?

    我想将 png 转换为 base64 并将编码后的字符串插入 svg 中 fIm open name png rb dataIm fIm read encode base64 replace n baseIm