网站首页 > 开源技术 正文
一说到SVG,很多人第一反应这是前端的领域,是可以Html、JavaScript操作的。SVG文件在浏览器是可以直接运行的,但如果我们在后台需要保存图片,就需要通过SVG定义的XML文件转换为图片格式了。
所以,今天就给大家推荐一个SVG图形操作库,通过它便能轻松实现在.NET中生成和操作SVG图形文件以及字节流。
项目简介
这是一个支持.Net Framework 与 .Net Core版本的SVG图形操作库。这个项目集成了SVG各项API,让开发人员可以在.Net很轻松的实现SVG图形的操作,通过SVG文件转换为图片文件。
目前在主要有2个版本:Version 2.4/3.0。版本2.4是.NET Framework 特定版本,3.0版本才支持 .NET Core,同时该版本Linux 和 Mac也都是兼容的。
技术架构
1、平台:基于Net5.0开发
2、开发工具:Visual Studio 2017
项目结构
安装方法
Windows环境
通过 安装,命令窗口方式:
Install-Package Svg
dotnet命令客户端方式:
dotnet add package Svg
Linux环境
sudo add-apt-repository ppa:quamotion/ppa
sudo apt-get update
sudo apt-get install -y libgdiplus
使用例子
画三个圈重叠例子
代码:
class Program
{
static void Main(string[] args)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"../../../sample.svg");
var sampleDoc = SvgDocument.Open<SvgDocument>(filePath, new Dictionary<string, string>
{
{"entity1", "fill:red" },
{"entity2", "fill:yellow" }
});
sampleDoc.Draw().Save(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"../../../sample.png"));
}
}
Svg代码:
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="800">
<g style="fill-opacity:0.7;">
<circle cx="6.5cm" cy="2cm" r="100" style="&entity1;" transform="translate(0,50)" />
<circle cx="6.5cm" cy="2cm" r="100" style="&entity2;" transform="translate(70,150)" />
<circle cx="6.5cm" cy="2cm" r="100" style="fill:green;" transform="translate(-70,150)"/>
</g>
</svg>
最终效果:
源码获取
私信回复:1071
- End -
推荐阅读
猜你喜欢
- 2024-10-25 前端开发:JavaScript 资源大全(一)
- 2024-10-25 前端如何绘制svg格式图片?(svg html5)
- 2024-10-25 Canvas 从入门到劝朋友放弃(图解版)
- 2024-10-25 想在vue内使用svg:如何展示?如何改色?
- 2024-10-25 前端程序员如何转投SVG领域?(前端 转行)
- 2024-10-25 Web前端培训:前端开发必备工具—SVG优化器
- 2024-10-25 细品用SVG实现一个优雅的提示框(svg标签怎么用)
- 2024-10-25 SVG在Web攻击中的应用(svg web)
- 2024-10-25 图形工具的另一种以光标为中心缩放实现
- 2024-10-25 React.js 项目实践——创建个人作品集网页
你 发表评论:
欢迎- 最近发表
-
- 6月游戏推荐(二)(6月份新出的游戏)
- 37【源码】数据可视化:基于 Echarts + Python 动态实时大屏
- Kubernetes Kube-Proxy 组件 IPVS 模式工作原理及常用故障排查
- 《茶余饭后顶级英文歌曲精选》(茶余饭后的经典句子)
- rainx和MediaTek携手推出101产品生态,为5G FWA提供创新
- KAPITAL 推出蓝染风格 Aloha Shirt 系列
- 欧美经典怀旧歌曲Free loop-管不住的音符
- Mac 下php5.3-7.0的二进制包 ── PHP-OS
- 如何把一个Python应用程序装进Docker
- 为何推荐 JsonTree.js 做 JSON 可视化?
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)