WPF怎么使用svg矢量图片的svg代码生成Path矢量图形

目录

    • 核心原理:路径语法的共通性
    • 效果图:
    • xaml页面参考代码:

SVG和WPF的PathGeometry在描述路径的语法上是高度兼容的,核心的路径数据可以直接复用

核心原理:路径语法的共通性

SVG中的<path>元素使用d属性来定义路径,例如:

<pathd="M10 10 H 90 V 90 H 10 Z"/>

WPF中的Path元素使用Data属性(其类型为Geometry,常用PathGeometry)来定义路径,其路径标记语法与SVG几乎完全相同:

<PathData="M10 10 H 90 V 90 H 10 Z"/>

正是因为这种语法上的一致性,使得将SVG用于WPF成为可能。您需要做的就是提取SVG中的路径数据,并放入WPF的Path.Data中。

阿里巴巴图标库:
https://www.iconfont.cn/

比如这里找一个时钟的图片

点击【复制SVG代码】,粘贴到文本编辑器里面,然后复制里面的<path标签的d属性,把d里面的路径数据复制,然后粘贴到wpf的Path元素的Data中

<GridWidth="50"Height="50"Margin="10"ToolTip="时钟"><PathData="M511.913993 63.989249c-247.012263 0-447.924744 200.912481-447.924744 447.924744s200.912481 447.924744 447.924744 447.924744 447.924744-200.912481 447.924744-447.924744S758.926256 63.989249 511.913993 63.989249zM511.913993 895.677474c-211.577356 0-383.763481-172.186125-383.763481-383.763481 0-211.577356 172.014111-383.763481 383.763481-383.763481s383.763481 172.014111 383.763481 383.763481S723.491349 895.677474 511.913993 895.677474z"Fill="LimeGreen"Stretch="Uniform"></Path><BorderWidth="20"Height="20"Margin="10,-11,0,0"><PathFill="LimeGreen"Stretch="Uniform"Data="M672.05913 511.913993l-159.973123 0L512.086007 288.123635c0-17.717453-14.277171-32.166639-31.994625-32.166639-17.717453 0-31.994625 14.449185-31.994625 32.166639l0 255.956996c0 17.717453 14.277171 31.994625 31.994625 31.994625l191.967747 0c17.717453 0 32.166639-14.277171 32.166639-31.994625C704.053754 526.191164 689.604569 511.913993 672.05913 511.913993z"/></Border></Grid>

效果图:

xaml页面参考代码:

<Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp2"mc:Ignorable="d"Title="MainWindow"Height="450"Width="800"><GridMargin="50"><StackPanelHorizontalAlignment="Left"Orientation="Horizontal"><GridWidth="30"Height="30"Margin="10"ToolTip=""><PathData="M916.210526 1024 107.789474 1024C78.012632 1024 53.894737 999.855158 53.894737 970.105263L53.894737 485.052632C53.894737 455.275789 78.012632 431.157895 107.789474 431.157895L188.631579 431.157895 188.631579 323.368421C188.631579 144.761263 333.419789 0 512 0 690.580211 0 835.368421 144.761263 835.368421 323.368421L835.368421 431.157895 916.210526 431.157895C945.987368 431.157895 970.105263 455.275789 970.105263 485.052632L970.105263 970.105263C970.105263 999.855158 945.987368 1024 916.210526 1024ZM781.473684 323.368421C781.473684 174.538105 660.830316 53.894737 512 53.894737 363.169684 53.894737 242.526316 174.538105 242.526316 323.368421L242.526316 431.157895 781.473684 431.157895 781.473684 323.368421ZM916.210526 485.052632 835.368421 485.052632 188.631579 485.052632 107.789474 485.052632 107.789474 970.105263 916.210526 970.105263 916.210526 485.052632ZM512 592.842105C526.874947 592.842105 538.947368 604.914526 538.947368 619.789474L538.947368 835.368421C538.947368 850.243368 526.874947 862.315789 512 862.315789 497.125053 862.315789 485.052632 850.243368 485.052632 835.368421L485.052632 619.789474C485.052632 604.914526 497.125053 592.842105 512 592.842105Z"Fill="Red"Stretch="Uniform"></Path></Grid><GridWidth="30"Height="30"Margin="10"ToolTip=""><PathData="M512 35.446154c154.820923 0 279.630769 129.851077 279.630769 289.201231v104.723692l2.993231 0.118154A122.092308 122.092308 0 0 1 909.784615 551.384615v315.076923a122.092308 122.092308 0 0 1-122.092307 122.092308H236.307692A122.092308 122.092308 0 0 1 114.215385 866.461538v-315.076923a122.092308 122.092308 0 0 1 118.153846-122.013538V324.647385C232.369231 165.297231 357.179077 35.446154 512 35.446154z m275.692308 480.492308H236.307692a35.446154 35.446154 0 0 0-35.446154 35.446153v315.076923a35.446154 35.446154 0 0 0 35.446154 35.446154h551.384616a35.446154 35.446154 0 0 0 35.446154-35.446154v-315.076923a35.446154 35.446154 0 0 0-35.446154-35.446153zM512 590.769231a78.769231 78.769231 0 0 1 35.446154 149.149538v37.572923a35.446154 35.446154 0 1 1-70.892308 0l-0.039384-37.612307A78.769231 78.769231 0 0 1 512 590.769231z m0-468.676923c-106.180923 0-192.984615 90.308923-192.984615 202.555077V429.292308h385.96923V324.647385c0-112.246154-86.803692-202.555077-192.984615-202.555077z"Fill="Blue"Stretch="Uniform"></Path></Grid><GridWidth="30"Height="30"Margin="10"ToolTip="右箭头▶"><BorderBackground="Blue"CornerRadius="30"></Border><PathData="M679.5008 500.096v-23.80288h-23.808v-23.80288h-23.80288v-23.808h-23.80288v-23.80288h-23.808v-23.86944h-23.808v-23.80288h-23.86944v-23.80288h-23.80288v-23.808h-23.80288v-23.808h-23.808v-23.808h-23.80288v-23.80288h-23.808v-23.86944h-23.80288v-23.80288h-23.86944v-23.80288h-23.80288v-23.808h-23.808V119.0912h-23.808v-23.80288h-23.80288V71.4752H250.88V0h71.41376v23.80288h23.808v23.86944h23.80288v23.80288h23.86944v23.81312h23.80288v23.80288h23.808v23.80288h23.80288v23.808h23.808v23.80288h23.80288v23.80288h23.80288v23.86944h23.86944v23.80288h23.808v23.808h23.808v23.808h23.80288v23.808h23.80288v23.80288h23.808v23.80288h23.80288v23.86944h23.86944v23.80288h23.80288v23.808h23.80288v23.80288h23.808V547.77344h-23.808v23.80288h-23.80288v23.808h-23.80288v23.808h-23.86944v23.80288h-23.80288v23.80288h-23.808v23.80288h-23.80288v23.86944h-23.80288v23.808h-23.808v23.80288h-23.808v23.808h-23.86944v23.80288h-23.80288v23.808h-23.80288v23.80288h-23.808v23.80288h-23.80288v23.86944h-23.808v23.808h-23.80288v23.80288h-23.86944v23.808h-23.80288v23.80288h-23.808V1024H250.88v-71.41376h23.80288v-23.80288h23.80288v-23.808h23.808v-23.86944h23.808v-23.80288h23.80288v-23.80288h23.86944v-23.808h23.80288v-23.80288h23.808v-23.808h23.80288v-23.80288h23.808v-23.808h23.80288v-23.86944h23.80288v-23.80288h23.86944v-23.80288h23.808v-23.80288h23.808v-23.808h23.80288v-23.808h23.80288v-23.86432h23.808v-23.808h23.80288v-23.808z"Fill="White"Stretch="Uniform"Margin="5"></Path></Grid><GridWidth="30"Height="30"Margin="10"ToolTip="左箭头◀"><BorderBackground="Blue"CornerRadius="30"></Border><PathData="M679.5008 500.096v-23.80288h-23.808v-23.80288h-23.80288v-23.808h-23.80288v-23.80288h-23.808v-23.86944h-23.808v-23.80288h-23.86944v-23.80288h-23.80288v-23.808h-23.80288v-23.808h-23.808v-23.808h-23.80288v-23.80288h-23.808v-23.86944h-23.80288v-23.80288h-23.86944v-23.80288h-23.80288v-23.808h-23.808V119.0912h-23.808v-23.80288h-23.80288V71.4752H250.88V0h71.41376v23.80288h23.808v23.86944h23.80288v23.80288h23.86944v23.81312h23.80288v23.80288h23.808v23.80288h23.80288v23.808h23.808v23.80288h23.80288v23.80288h23.80288v23.86944h23.86944v23.80288h23.808v23.808h23.808v23.808h23.80288v23.808h23.80288v23.80288h23.808v23.80288h23.80288v23.86944h23.86944v23.80288h23.80288v23.808h23.80288v23.80288h23.808V547.77344h-23.808v23.80288h-23.80288v23.808h-23.80288v23.808h-23.86944v23.80288h-23.80288v23.80288h-23.808v23.80288h-23.80288v23.86944h-23.80288v23.808h-23.808v23.80288h-23.808v23.808h-23.86944v23.80288h-23.80288v23.808h-23.80288v23.80288h-23.808v23.80288h-23.80288v23.86944h-23.808v23.808h-23.80288v23.80288h-23.86944v23.808h-23.80288v23.80288h-23.808V1024H250.88v-71.41376h23.80288v-23.80288h23.80288v-23.808h23.808v-23.86944h23.808v-23.80288h23.80288v-23.80288h23.86944v-23.808h23.80288v-23.80288h23.808v-23.808h23.80288v-23.80288h23.808v-23.808h23.80288v-23.86944h23.80288v-23.80288h23.86944v-23.80288h23.808v-23.80288h23.808v-23.808h23.80288v-23.808h23.80288v-23.86432h23.808v-23.808h23.80288v-23.808z"Fill="White"Stretch="Uniform"Margin="5"RenderTransformOrigin="0.5,0.5"><Path.RenderTransform><RotateTransformAngle="180"/></Path.RenderTransform></Path></Grid><GridWidth="50"Height="50"Margin="10"ToolTip="床位"><BorderBackground="Blue"CornerRadius="30"></Border><PathData="M1593.17 597.333H227.84c-34.588 0-49.664-22.87-49.664-56.548 0-33.28 27.705-60.586 62.236-60.586h280.804l47.957-110.421h910.222c53.76 6.372 113.209 8.476 113.607 62.18l0.455 169.358-0.287-3.983zM340.252 453.575c-69.632 0-125.952-54.613-125.952-123.051 0-67.982 56.32-122.652 125.952-122.652 69.575 0 125.838 54.613 125.838 122.652 0 68.437-56.377 123.051-125.838 123.051z m1251.27 541.639l-112.122 0.342V768H114.062v227.556L0 995.215V97.166C0 59.45 30.834 28.73 69.177 28.73c38.969 0 69.803 30.72 69.803 68.437v560.64h1452.54v337.408z"Fill="White"Stretch="Uniform"Margin="6"></Path></Grid><GridWidth="50"Height="50"Margin="10"ToolTip="时钟"><PathData="M511.913993 63.989249c-247.012263 0-447.924744 200.912481-447.924744 447.924744s200.912481 447.924744 447.924744 447.924744 447.924744-200.912481 447.924744-447.924744S758.926256 63.989249 511.913993 63.989249zM511.913993 895.677474c-211.577356 0-383.763481-172.186125-383.763481-383.763481 0-211.577356 172.014111-383.763481 383.763481-383.763481s383.763481 172.014111 383.763481 383.763481S723.491349 895.677474 511.913993 895.677474z"Fill="LimeGreen"Stretch="Uniform"></Path><BorderWidth="20"Height="20"Margin="10,-11,0,0"><PathFill="LimeGreen"Stretch="Uniform"Data="M672.05913 511.913993l-159.973123 0L512.086007 288.123635c0-17.717453-14.277171-32.166639-31.994625-32.166639-17.717453 0-31.994625 14.449185-31.994625 32.166639l0 255.956996c0 17.717453 14.277171 31.994625 31.994625 31.994625l191.967747 0c17.717453 0 32.166639-14.277171 32.166639-31.994625C704.053754 526.191164 689.604569 511.913993 672.05913 511.913993z"/></Border></Grid><GridWidth="50"Height="50"Margin="10"ToolTip="打钩"><PathData="M512.3 960.5c-247.5 0-448.1-200.6-448.1-448.1S264.8 64.2 512.3 64.2s448.1 200.6 448.1 448.1-200.6 448.2-448.1 448.2z m252.6-587.1c-8.8-8.7-22.9-8.7-31.7 0L463.8 642.8 321.2 500.2c-8.8-8.8-22.9-8.8-31.7 0-8.7 8.8-8.7 22.9 0 31.7L448 690.3c8.8 8.7 22.9 8.7 31.7 0l285.2-285.2c8.7-8.8 8.7-23 0-31.7z"Fill="LimeGreen"Stretch="Uniform"Margin="0"></Path></Grid></StackPanel></Grid></Window>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1212707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3步打造高效窗口管理:多显示器环境下的生产力提升指南

3步打造高效窗口管理&#xff1a;多显示器环境下的生产力提升指南 【免费下载链接】PowerToys Windows 系统实用工具&#xff0c;用于最大化生产力。 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys 多显示器窗口布局与高效分屏管理是现代办公环境中的核心…

PowerToys Image Resizer高效批量处理技巧:零基础快速上手指南

PowerToys Image Resizer高效批量处理技巧&#xff1a;零基础快速上手指南 【免费下载链接】PowerToys Windows 系统实用工具&#xff0c;用于最大化生产力。 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys 你是否曾遇到这样的困境&#xff1a;花30分钟手…

GPT-OSS-20B电商应用:商品描述生成系统搭建

GPT-OSS-20B电商应用&#xff1a;商品描述生成系统搭建 你是不是也遇到过这样的问题&#xff1a;每天要为上百款新品写详情页&#xff0c;文案千篇一律、缺乏吸引力&#xff0c;运营同事催得紧&#xff0c;设计师等文案排期排到三天后&#xff1f;人工写不仅慢&#xff0c;还容…

破解行业推理难题:OpenReasoning-Nemotron如何重塑AI应用格局

破解行业推理难题&#xff1a;OpenReasoning-Nemotron如何重塑AI应用格局 【免费下载链接】OpenReasoning-Nemotron-32B 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/OpenReasoning-Nemotron-32B 推理模型正成为驱动行业应用智能化升级的核心引擎。在金融风控…

如何打造个性化Minecraft游戏平台:PollyMC启动器全面使用指南

如何打造个性化Minecraft游戏平台&#xff1a;PollyMC启动器全面使用指南 【免费下载链接】PollyMC DRM-free Prism Launcher fork with support for custom auth servers. 项目地址: https://gitcode.com/gh_mirrors/po/PollyMC 作为Minecraft玩家&#xff0c;你是否遇…

文件在线预览解决方案:企业级文档管理与多格式预览的集成实践

文件在线预览解决方案&#xff1a;企业级文档管理与多格式预览的集成实践 【免费下载链接】kkFileView Universal File Online Preview Project based on Spring-Boot 项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView 问题&#xff1a;企业文档管理的核心…

如何30分钟搭建AI笔记系统?开源Open Notebook零门槛部署指南

如何30分钟搭建AI笔记系统&#xff1f;开源Open Notebook零门槛部署指南 【免费下载链接】open-notebook An Open Source implementation of Notebook LM with more flexibility and features 项目地址: https://gitcode.com/GitHub_Trending/op/open-notebook 核心价值…

如何打造专业中文排版?开源字体的创新解决方案

如何打造专业中文排版&#xff1f;开源字体的创新解决方案 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目&#xff0c;提供了多种版本的字体文件&#xff0c;适用于不同的使用场景&#xff0c;包括屏幕阅读、轻便版、GB规范字形和TC旧字形版。 项目地址…

3个维度解决容器依赖:wait-for-it脚本参数优化与实战指南

3个维度解决容器依赖&#xff1a;wait-for-it脚本参数优化与实战指南 【免费下载链接】wait-for-it vishnubob/wait-for-it: wait-for-it是一个简单的shell脚本&#xff0c;用于等待服务如数据库、端口等变得可用才执行下一步操作。常用于Docker容器化环境或脚本自动化场景&…

3步解锁AMD显卡CUDA能力:ZLUDA开源工具实战指南

#3步解锁AMD显卡CUDA能力&#xff1a;ZLUDA开源工具实战指南 【免费下载链接】ZLUDA CUDA on Intel GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 在AI开发与科学计算领域&#xff0c;CUDA生态的兼容性一直是AMD显卡用户面临的主要障碍。ZLUDA作为一款…

突破下载瓶颈:解锁BT加速的核心密钥

突破下载瓶颈&#xff1a;解锁BT加速的核心密钥 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 还在为BT下载速度缓慢而困扰吗&#xff1f;当你焦急地等待文件传输完成&…

工业PLC集成中NX12.0异常处理核心要点

以下是对您提供的技术博文进行 深度润色与专业重构后的版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹 :摒弃模板化表达、空洞术语堆砌,代之以真实工程师口吻的逻辑推演、经验判断与现场洞察; ✅ 打破章节割裂感 :取消所有“引言/概述/总结”等程式化标…

SGLang与ONNX Runtime集成:跨平台推理优化尝试

SGLang与ONNX Runtime集成&#xff1a;跨平台推理优化尝试 1. 为什么需要SGLang这样的推理框架 大模型落地最常遇到的不是“能不能跑”&#xff0c;而是“跑得够不够快、稳不稳定、省不省资源”。很多团队花大力气把模型部署上线后&#xff0c;发现吞吐上不去、延迟忽高忽低、…

SGLang如何集成外部API?实时调用部署案例

SGLang如何集成外部API&#xff1f;实时调用部署案例 1. 为什么需要在SGLang中调用外部API&#xff1f; 你有没有遇到过这样的场景&#xff1a;大模型能说会道&#xff0c;但一到查天气、读数据库、发短信、调支付接口&#xff0c;就卡壳了&#xff1f;它知道“怎么调”&…

mobile-mcp:跨平台自动化测试解决方案

mobile-mcp&#xff1a;跨平台自动化测试解决方案 【免费下载链接】mobile-mcp Model Context Protocol Server for Mobile Automation and Scraping 项目地址: https://gitcode.com/gh_mirrors/mo/mobile-mcp 在移动应用开发过程中&#xff0c;iOS与Android平台的技术壁…

开源模型应用趋势:FSMN VAD在安防领域的落地

开源模型应用趋势&#xff1a;FSMN VAD在安防领域的落地 1. 为什么语音活动检测正在成为安防新刚需&#xff1f; 你有没有想过&#xff0c;一段监控视频里真正需要人工复核的&#xff0c;可能只有不到5%的时间&#xff1f;其余95%都是空荡走廊、静止画面、无人区域——但传统…

AI视觉模型哪家强?cv_unet_image-matting多场景对比评测

AI视觉模型哪家强&#xff1f;cv_unet_image-matting多场景对比评测 1. 为什么抠图这件事&#xff0c;值得专门挑出来比一比&#xff1f; 你有没有遇到过这些时刻&#xff1a; 给电商产品换背景&#xff0c;手动抠图花掉一小时&#xff0c;边缘还毛毛躁躁&#xff1b;做社交…

量化策略参数优化:动态调整框架与实践指南

量化策略参数优化&#xff1a;动态调整框架与实践指南 【免费下载链接】gs-quant 用于量化金融的Python工具包。 项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant 在加密货币等高波动市场中&#xff0c;量化策略的参数动态优化是维持长期盈利能力的核心挑战…

3步打造Rust OS硬件监控系统:从零实现嵌入式温度控制实战指南

3步打造Rust OS硬件监控系统&#xff1a;从零实现嵌入式温度控制实战指南 【免费下载链接】blog_os Writing an OS in Rust 项目地址: https://gitcode.com/GitHub_Trending/bl/blog_os 在Rust操作系统开发过程中&#xff0c;硬件监控系统是确保系统稳定性的关键组件。本…

多模态模型落地实践:CLIP-ViT-B-32技术原理与行业应用指南

多模态模型落地实践&#xff1a;CLIP-ViT-B-32技术原理与行业应用指南 【免费下载链接】CLIP-ViT-B-32-laion2B-s34B-b79K 项目地址: https://ai.gitcode.com/hf_mirrors/laion/CLIP-ViT-B-32-laion2B-s34B-b79K 在数字内容爆炸的时代&#xff0c;企业面临着海量图像与…