可缩放矢量图形(SVG)是一种基于XML的二维矢量图形格式,也可以在HTML中使用。不要仅仅因为您的项目使用SVG而添加此标记。相反,如果您的问题是关于SVG或与其密切相关的问题,请添加标记,例如如何使用SVG实现某些功能。
更新Android studio中导入矢量资源时存储svg文件的默认位置
以前,在android studio中导入矢量资源时,svg文件默认存储在drawable文件夹中,但现在每次我都必须在android studio中的弹出窗口中手动选择位置,
我想在我的 svg 上添加一个签名动画,我已经尝试过了,但只显示了一半?
<svg xmlns="http://www.w3.org/2000/svg" width="282" height="122" viewBox="0 0 282 122" fill="none"> <!-- Signature Path --> <path id="signature" d="M59.1294 91.0229C59.2018 87.6683 57.6122 84.619 56.5486 81.5202C54.828 76.5073 53.9153 71.3684 52.7901 66.1947C48.7362 47.5558 44.4087 28.9291 39.3774 10.5267C37.5692 3.91298 36.1171 8.64639 34.837 12.4986C32.4899 19.5623 30.9263 27.1572 29.0077 34.3523C27.1718 41.2371 26.3716 48.4466 24.7866 55.2446C22.84 63.5931 21.5986 72.0237 19.7423 80.3835C19.2622 82.5455 16.7243 96.5695 19.769 94.469C23.0249 92.2228 28.2772 89.4289 30.6095 86.3298C31.8945 84.6223 34.839 81.0546 34.0555 78.638C32.5327 73.9409 23.7549 70.6068 19.9807 68.2569C17.0475 66.4308 14.0207 65.0872 10.602 64.7279C9.42022 64.6036 6.21447 64.835 5.35755 63.9882C3.77332 62.4227 3.72734 61.5739 3.95931 59.3668C4.39759 55.1969 8.95733 56.1224 12.3685 56.4356C36.6373 58.664 62.3092 55.5404 86.4512 54.237C91.0087 53.991 83.1485 57.1707 81.2589 57.9302C72.4695 61.4631 75.2696 76.1022 84.2826 77.5587C92.4344 78.8761 91.2261 46.4935 93.3015 54.486C94.6132 59.5375 94.3991 65.1649 96.1407 70.0446C98.0208 75.3128 98.4224 77.5413 102.803 72.5345C105.274 69.71 107.509 66.7204 109.318 63.4227C110.749 60.8149 110.89 58.3282 110.411 62.8782C110.136 65.4934 112.298 71.1155 115.041 67.227C116.741 64.8169 118.59 62.7445 120.027 60.1209C121.567 57.3097 124.206 48.8542 125.079 51.9385C126.497 56.9508 123.207 66.179 122.294 70.8152C120.796 78.4209 119.437 85.9966 117.369 93.4705C117.068 94.5606 116.139 103.229 115.039 103.54C113.473 103.984 113.643 96.5553 113.692 96.1925C115.504 82.8536 128.178 71.8613 135.078 60.7609C136.73 58.1038 137.03 54.8922 138.487 52.0762C140.926 47.366 138.989 62.6726 139.172 67.9734C139.252 70.2984 139.272 72.9789 139.675 75.2796C139.897 76.5454 144.949 70.1681 145.296 69.7475C147.508 67.0664 149.036 64.7312 150.576 61.6362C151.051 60.6828 152.659 56.1636 152.326 59.3239C152.172 60.7933 152.528 65.7308 153.421 66.8335C154.488 68.151 157.987 65.1223 158.55 64.6408C165.462 58.7277 170.39 49.8993 171.962 40.9938C173.038 34.9029 171.412 38.249 171.178 41.2881C170.828 45.821 173.283 48.8052 174.722 52.8232C176.84 58.7344 179.086 62.841 178.41 69.2716C178.048 72.7147 165.219 73.5066 168.779 65.9044C170.633 61.945 173.034 67.942 174.183 69.157C178.176 73.3796 184.679 63.2939 186.274 60.7725C193.061 50.047 195.546 35.2885 196.86 22.7927" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="993" stroke-dashoffset="993"></path> <!-- Underline Path --> <path id="underline" d="M107.174 84.38C126.874 82.0661 146.518 78.1799 166.201 75.4771C172.549 74.6054 179.179 76.0337 185.54 76.1284C196.326 76.2889 207.718 76.4185 218.434 74.8892C223.233 74.2044 228.297 74.9395 232.951 74.0243C241.113 72.4192 249.851 71.8563 258.17 71.812" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="169" stroke-dashoffset="169"></path> <style> #signature{ animation: drawSignature 3s linear forwards; } #underline { animation: drawUnderline 1s linear forwards; animation-delay: 3s; /* Delay to match signature duration */ } @keyframes drawSignature { to { stroke-dashoffset: 0; } } @keyframes drawUnderline { to { stroke-dashoffset: 0; } } </style> </svg> dasharray 和 stroke-dashoffset 是正确的,因为我使用 javascript getTotalLength() 对于签名和下划线的每个路径进行了计算。我想要的效果是我的签名首先是动画的,然后是下划线的 但从上面的代码来看,只有一半的签名被动画化,然后下划线路径修复了? 我已经尝试过上面的代码并使用ai仍然没有任何效果。我希望首先将我的签名路径设置为动画,然后为路径添加下划线,以便创建绘图签名效果 <svg xmlns="http://www.w3.org/2000/svg" width="282" height="122" viewBox="0 0 282 122" fill="none"> <!-- Signature Path --> <path id="signature" d="M59.1294 91.0229C59.2018 87.6683 57.6122 84.619 56.5486 81.5202C54.828 76.5073 53.9153 71.3684 52.7901 66.1947C48.7362 47.5558 44.4087 28.9291 39.3774 10.5267C37.5692 3.91298 36.1171 8.64639 34.837 12.4986C32.4899 19.5623 30.9263 27.1572 29.0077 34.3523C27.1718 41.2371 26.3716 48.4466 24.7866 55.2446C22.84 63.5931 21.5986 72.0237 19.7423 80.3835C19.2622 82.5455 16.7243 96.5695 19.769 94.469C23.0249 92.2228 28.2772 89.4289 30.6095 86.3298C31.8945 84.6223 34.839 81.0546 34.0555 78.638C32.5327 73.9409 23.7549 70.6068 19.9807 68.2569C17.0475 66.4308 14.0207 65.0872 10.602 64.7279C9.42022 64.6036 6.21447 64.835 5.35755 63.9882C3.77332 62.4227 3.72734 61.5739 3.95931 59.3668C4.39759 55.1969 8.95733 56.1224 12.3685 56.4356C36.6373 58.664 62.3092 55.5404 86.4512 54.237C91.0087 53.991 83.1485 57.1707 81.2589 57.9302C72.4695 61.4631 75.2696 76.1022 84.2826 77.5587C92.4344 78.8761 91.2261 46.4935 93.3015 54.486C94.6132 59.5375 94.3991 65.1649 96.1407 70.0446C98.0208 75.3128 98.4224 77.5413 102.803 72.5345C105.274 69.71 107.509 66.7204 109.318 63.4227C110.749 60.8149 110.89 58.3282 110.411 62.8782C110.136 65.4934 112.298 71.1155 115.041 67.227C116.741 64.8169 118.59 62.7445 120.027 60.1209C121.567 57.3097 124.206 48.8542 125.079 51.9385C126.497 56.9508 123.207 66.179 122.294 70.8152C120.796 78.4209 119.437 85.9966 117.369 93.4705C117.068 94.5606 116.139 103.229 115.039 103.54C113.473 103.984 113.643 96.5553 113.692 96.1925C115.504 82.8536 128.178 71.8613 135.078 60.7609C136.73 58.1038 137.03 54.8922 138.487 52.0762C140.926 47.366 138.989 62.6726 139.172 67.9734C139.252 70.2984 139.272 72.9789 139.675 75.2796C139.897 76.5454 144.949 70.1681 145.296 69.7475C147.508 67.0664 149.036 64.7312 150.576 61.6362C151.051 60.6828 152.659 56.1636 152.326 59.3239C152.172 60.7933 152.528 65.7308 153.421 66.8335C154.488 68.151 157.987 65.1223 158.55 64.6408C165.462 58.7277 170.39 49.8993 171.962 40.9938C173.038 34.9029 171.412 38.249 171.178 41.2881C170.828 45.821 173.283 48.8052 174.722 52.8232C176.84 58.7344 179.086 62.841 178.41 69.2716C178.048 72.7147 165.219 73.5066 168.779 65.9044C170.633 61.945 173.034 67.942 174.183 69.157C178.176 73.3796 184.679 63.2939 186.274 60.7725C193.061 50.047 195.546 35.2885 196.86 22.7927" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="993" stroke-dashoffset="993"></path> <!-- Underline Path --> <path id="underline" d="M107.174 84.38C126.874 82.0661 146.518 78.1799 166.201 75.4771C172.549 74.6054 179.179 76.0337 185.54 76.1284C196.326 76.2889 207.718 76.4185 218.434 74.8892C223.233 74.2044 228.297 74.9395 232.951 74.0243C241.113 72.4192 249.851 71.8563 258.17 71.812" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="169" stroke-dashoffset="169"></path> <style> #signature{ animation: drawSignature 3s linear forwards; } #underline { animation: drawUnderline 1s linear forwards; animation-delay: 3s; /* Delay to match signature duration */ } @keyframes drawSignature { to { stroke-dashoffset: 0; } } @keyframes drawUnderline { to { stroke-dashoffset: 0; } } </style> </svg> 浏览量'100 抖音
如何在 iText Java 中直接将 AI (Adobe Illustrator) / SVG / PDF 文件嵌入 PDF 以避免渲染故障?
SVG 文件在 iText Java 中无法正确呈现。我应该找到一种更好的方法将矢量图插入到我的 pdf 文件中。 我想用一些矢量图和文本编程生成 PDF 文件...
Android 上的 Chrome 更喜欢苹果触摸图标而不是 SVG favicon
我正在本地非 HTTPS vitejs 开发服务器的网页中测试 favicon。 这是与 favicon 相关的部分: 我正在本地非 HTTPS vitejs 开发服务器的网页中测试 favicon。 这是与favicon相关的部分: <link rel="icon" href="/favicon-32x32-light.png" sizes="32x32" media="(prefers-color-scheme: light)" /> <link rel="icon" href="/favicon-32x32-dark.png" sizes="32x32" media="(prefers-color-scheme: dark)" /> <link rel="apple-touch-icon" href="/apple-icon-180x180-light.png" sizes="180x180" media="(prefers-color-scheme: light)" /> <link rel="apple-touch-icon" href="/apple-icon-180x180-dark.png" sizes="180x180" media="(prefers-color-scheme: dark)" /> <link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any" /> SVG 有一个像 viewBox="0 0 160 160" 这样的 viewBox,不确定这是否会影响浏览器选择算法。它包含一个 <style> 标签来支持两种配色方案: .inside { fill: green; } @media (prefers-color-scheme: dark) { .inside { fill: red; } } 在 Windows Chrome(以及 Firefox、Edge)中,仅请求并应用 SVG 图标: 在 Android Chrome (v129.0.xxx) 中,同时请求 SVG favicon 和 apple touch 图标,然后应用 apple touch 图标(SVG 具有不同的颜色,以便被发现): 我的理解是Android Chrome支持SVG作为favicon,它的选择算法应该选择SVG。所以我想我的页面设置一定有问题。这是MDN: 如果有多个 ,浏览器将使用它们的媒体、类型和大小属性来选择最合适的图标。如果多个图标同样合适,则使用最后一个。如果后来发现最合适的图标不合适,例如因为它使用了不受支持的格式,则浏览器将继续使用下一个最合适的图标,依此类推。 realfavicongenerator.net 上的 post 解释说,Android Chrome 也依赖于苹果触摸图标,基于宽度/高度计算。但 SVG 可以根据需要缩放,所以我的理解是它应该优先。 我尝试过的事情,但没有运气: 更改<link>标签的顺序 删除 Apple Touch 图标或 SVG 或两者中的 sizes 属性 使用不同的 <link> 属性复制 SVG media,以实现暗/亮方案 使用大于 180x180 的 viewBox 创作放大的 SVG,例如200x200 通过 HTTPS 公开本地站点 让它选择 SVG 的唯一方法是删除两个苹果触摸图标 <link> 标签。此时,在 32x32 PNG 和 SVG 之间,Android Chrome 选择了 SVG。 这是一个显示问题的代码和框,设置也更简单(没有深色/浅色变体):https://s3cnww.csb.app/ 有谁知道如何让 Android Chrome 选择 SVG? TA 当浏览器需要在多个 Favicon 中进行选择时,您无法选择首选 Favicon。每个浏览器都有自己的实现,正如Robert Longso所建议的,您唯一的解决方案是直接联系每个浏览器以检查它是否是预期的行为。 例如,以下是使用 apple-touch-icon 的 Safari 浏览器的规则: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/ uid/TP40002051-CH3-SW4.
有些 SVG 在 Nextjs 中工作,有些则不能,为什么?
当我尝试在 Nextjs 应用程序中使用 svgs 时,我一直在努力使用它们。 它们不会显示为背景图像或图像本身。我尝试过其他地方的 svgs 并且它们可以工作,但我找不到...
与 <mat-icon>(角度材质)一起使用时我们可以更改 svgicon 颜色吗
所以我有一个 svg 图标,我使用有角度的材料来显示它,并想更改悬停时的颜色,但到目前为止我还无法做到这一点。 这是供参考的代码: 所以我有一个 svg 图标,我使用有角度的材料来显示它,并想更改悬停时的颜色,但到目前为止我还无法做到这一点。 以下是参考代码: <mat-icon svgIcon="menu"></mat-icon> 但是当我尝试时,图标出现了, <mat-icon class="color" svgIcon="menu"></mat-icon> 以及CSS部分 .color:hover, .color:active{ color: black; fill: black; } 这不起作用。 任何帮助将不胜感激,谢谢。 今天早上我自己解决了这个问题,我所做的基本上是用文本编辑器打开 svg 文件,并且在长“Path”属性的末尾有一个填充属性,我只是删除了该部分,现在它工作得很棒。 示例(之前):- <path d="M47.713,274.096c0,3.866,3.134,7,7,7s7-3.134,7-7v-64.653l87.584-`66.53v52.38c0,3.866" fill="#ffffff";/>` 之后:- <path d="M47.713,274.096c0,3.866,3.134,7,7,7s7-3.134,7-7v-64.653l87.584-`66.53v52.38c0,3.866"/> 现在一切正常,悬停也正常...非常感谢您仍在研究它。 SVG 图标默认为黑色,除非另有说明,您发布的代码似乎有效,尝试将鼠标悬停时的颜色属性更改为 red 并查看是否可以看到更改。 将 SVG 的填充变量写入 currentColor,如下所示: <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 24 24"> <path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z"/> </svg> 之后你可以像这样改变颜色:<mat-icon svgIcon="hero" style="color: red;" />
路径填充=“无”笔划=“#000000”d=“M151.5,85.5c0-36.48,29.52-66,66-66” 谁能详细解释一下 d="" 吗?我能够理解 M 标签,但我无法理解 C 标签是什么?和详细信息:c0-3...
有没有一种方法既可以通过 URL 加载 SVG 图像,又可以用 CSS 颜色变量填充它?
我正在构建一个编辑器,用户可以在其中从我们的 CDN 选择 SVG,并选择其填充颜色。在前端,我希望能够以用户选择的颜色渲染这些 SVG,但这
在Safari(版本18.0.1)中运行此代码时,生成的图像为: 然而,在Chrome(版本131.0.6778.139)中运行代码时,生成的图像是: 我可以让这两个匹配...
我有一个根 SVG 元素,定义如下(插入到 的顶部): 我有一个根 SVG 元素,定义如下(插入到 <body> 的顶部): <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="svg-library"> <defs> <symbol id="image1" viewBox="-10 0 828 1000"> <path fill="currentColor" d="…" /> </symbol> </defs> </svg> 现在,我“实例化”库中的图像: <svg class="inline"> <!-- .inline { fill: currentColor; display: inline-block; } --> <use href="#image1"></use> </svg> 我希望它的高度为 1em 并保持纵横比(828 ÷ 1000,请参阅 viewBox)。我使用哪些 CSS 或属性? 设置 height: 1em; width: auto; 使其高度为 1em,但宽度似乎是容器的 100%。 设置aspect-ratio: auto;也没有帮助,我猜,viewBox定义的比率不是内在。 您可以使用CSS属性aspect-ratio。 p { color: navy; } .inline { fill: currentColor; display: inline-block; height: 1em; aspect-ratio: 828/1000; } <svg xmlns="http://www.w3.org/2000/svg" width="0" height="0" style="position: absolute;"> <defs> <symbol id="image1" viewBox="-10 0 828 1000"> <path fill="currentColor" d="M -10 50 L 818 0 L 690 1000 L 40 700 Z" /> </symbol> </defs> </svg> <p>Here is your inline <svg class="inline"><use href="#image1" /></svg> SVG.</p>
这是常见的 SVG mime 类型: 图像/svg+xml 而且效果很好。然而,当嵌入 SVG 字体时,chrome 会告诉你 mime 类型不正确,显然是因为你返回的是字体而不是......
类型“string”不可分配给类型“ImageSourcePropType”
背景 我正在尝试使用 SVG 组件,该组件在图像标签内具有 xlinkHref 属性。该文件是一个普通的 SVG,但我使用 https://react-s... 将其转换为 React Native 组件 (TSX)...
这可能是一个非常简单的问题,但是如何让 SVG 中的文本拉伸以适合其容器? 我不在乎它是否因拉得太长或太高而看起来很丑,但它需要适合它的
viewportwidth/height 对 Android 可绘制对象有什么影响
我有一个从 SVG 资源导入的矢量绘图。有时,我必须调整尺寸。通常我会更新宽度和高度。我无法弄清楚视口宽度和高度如何影响...
在 JavaScript 中,我正在创建一个图像元素,该元素显示包含透明部分的 SVG 图标: const iconImg = document.createElement("img"); iconImg.className = "主机图标&quo...
opentype.js 和maker.js 渲染文本的错误路径
我需要能够将文本和特定字体转换为svg路径数据,并且碰巧遇到了opentype.js和maker.js,彼此独立,看到maker.js使用opentype.js。当...
使用 HTML5,如何放置一次内联 SVG 然后在多个位置显示?我希望 SVG 代码不显示它放置的位置,而是显示在引用它的多个位置,而不需要 r...
我有一个应用程序,用户可以通过它使用 SVG (d3) 绘制东西。我想要一个功能,当我单击按钮或链接时,我想保存一个名为“main_svg”的 SVG 标签,该标签又包含...
下面的两个代码块是相同的,除了第二个代码块中的“use”标签试图重用#p1圆圈。 为什么切换到“使用”会导致面具变得偏执......
d3js 缩放和平移仅在鼠标已经位于 svg 中的元素上时才起作用
在我的 angularjs 项目中,我使用 d3js 构建了一个可折叠树,我使用了此处提供的代码。 现在我尝试添加一些简单的缩放和平移功能: var initZoom = 函数 () { var 动物园...