您当前的位置: 首页 >  c#

编程乐趣

暂无认证

  • 3浏览

    0关注

    117博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

推荐一个C#操作SVG图形矢量图的开源项目

编程乐趣 发布时间:2022-10-12 19:42:35 ,浏览量:3

一说到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(filePath,  new Dictionary 
            {
                {"entity1", "fill:red" },
                {"entity2", "fill:yellow" }
            });

        sampleDoc.Draw().Save(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"../../../sample.png"));
    }
}

Svg代码:









最终效果:

图片

项目地址:https://github.com/svg-net/SVG

- End -

推荐阅读

  • 盘点10个.NetCore实用的开源框架项目

  • 盘点13个值得程序员逛的论坛

  • 一个C#开发的非常实用的缓存中间件

  • .Net开发的跨平台Word模板引擎

  • 一套 .NET开发的邮箱Mail开源库

  • 推荐基于.NET 6.0开发的开源访客系统

专注分享编程知识、热门有用有趣的开源项目

关注
打赏
1665230491
查看更多评论
立即登录/注册

微信扫码登录

0.0437s