快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 跨平台的.Net图片操作库

跨平台的.Net图片操作库

时间:2023-01-30 15:44:52人气:作者:快盘下载我要评论

我们在项目开发中;对图片的操作可以说是非常常见;比如图片大小改变、图片合并、格式转换、添加水印等;自己开发都需要费不少时间;所以今天给大家介绍一个支持100多格式图片操作库;完全可以满足项目日常的开发。

项目简介

这是基于.NET Standard开发的开源项目;支持100的图片格式;可以在C#/VB.NET/.NET Core直接使用。

如果需要操作AI/EPS/PDF/PS、Video 格式;需要额外安装插件。

技术架构

1、跨平台;这是基于.NET Standard开发的系统;可以部署在docker,Windows,Linux;

项目结构

跨平台的.Net图片操作库

系统功能

1、读取;读取、图片信息、支持多层/帧、Exif数据、颜色;

2、调整;调整动画gif大小、指定图片大小;

3、转换;100多中格式互相转换、CMYK转换为RGB、CR2转换为JPG;

4、合并;图片合并、创建动画gif;

5、PDF;PDF转为一个/多个图片、一个/多个图片转为PDF;

6、压缩;无损压缩;

7、文本;添加文本、添加水印。

使用示例

图像读取

// 读取图片
using (var image = new MagickImage(;c:pathtoSnakeware.jpg;))
{
}


using (var image = new MagickImage())
{
    image.Read(;c:pathtoSnakeware.jpg;);
    image.Read(memStream);
    image.Read(;xc:yellow;, settings);


    using (var memStream = LoadMemoryStreamImage())
    {
        image.Read(memStream);
    }
}

大小改变

//gif图片大小改变using (var collection = new MagickImageCollection(;c:pathtoSnakewareGif;)){   collection.Coalesce();    foreach (var image in collection)    {        image.Resize(200, 0);    }    collection.Write(;c:pathtoSnakeware.resized.gif;);}// png图片大小改变using (var image = new MagickImage(;c:pathtoSnakewarePng;)){    var size = new MagickGeometry(100, 100);    size.IgnoreAspectRatio = true;    image.Resize(size);    image.Write(;c:pathtoSnakeware.100x100.png;);}

图片格式互转

// gif 转 png
using (var image = new MagickImage(;c:pathtoSnakeware.gif;))
{
    // Save frame as jpg
    image.Write(;c:pathtoSnakeware.jpg;);
}


// 转为png格式
var settings = new MagickReadSettings();
settings.Width = 800;
settings.Height = 600;


using (var memStream = new MemoryStream())
{
    using (var image = new MagickImage(;xc:purple;, settings))
    {
        image.Format = MagickFormat.Png;
        image.Write(memStream);
    }
}


// png 转 jpeg
using (var image = new MagickImage(;c:pathtoSnakeware.png;))
{
    image.Format = MagickFormat.Jpeg;
    byte[] data = image.ToByteArray();
}

PDF互转

//pdf 转化为 png、tif格式
var settings = new MagickReadSettings();
settings.Density = new Density(300, 300);


using (var images = new MagickImageCollection())
{
    images.Read(;c:pathtoSnakeware.pdf;, settings);


    var page = 1;
    foreach (var image in images)
    {
        image.Write(;c:pathtoSnakeware.Page; ; page ; ;.png;);
        image.Format = MagickFormat.Ptif;
        image.Write(;c:pathtoSnakeware.Page; ; page ; ;.tif;);
        page;;;
    }
}


// 图片转为pdf
using (var image = new MagickImage(;c:pathtoSnakeware.jpg;))
{
    // Create pdf file with a single page
    image.Write(;c:pathtoSnakeware.pdf;);
}


//读取指定pdf
using (var images = new MagickImageCollection())
{
    var settings = new MagickReadSettings();
    settings.FrameIndex = 0; 
    settings.FrameCount = 1; 
    images.Read(;c:pathtoSnakeware.pdf;, settings);
    images.Clear();
    settings.FrameCount = 2; 
    images.Read(;c:pathtoSnakeware.pdf;, settings);
}

添加水印、文本

//添加水印
using (var image = new MagickImage(;c:pathtoSnakeware.jpg;))
{
    using (var watermark = new MagickImage(;c:pathtoMagick.NET.png;))
    {
        image.Composite(watermark, Gravity.Southeast, CompositeOperator.Over);
        watermark.Evaluate(Channels.Alpha, EvaluateOperator.Divide, 4);
        image.Composite(watermark, 200, 50, CompositeOperator.Over);
    }
    image.Write(;c:pathtoSnakeware.watermark.jpg;);
}


//添加文字
using (var image = new MagickImage(new MagickColor(;#ff00ff;), 512, 128))
{
    new Drawables()
      .FontPointSize(72)
      .Font(;Comic Sans;)
      .StrokeColor(new MagickColor(;yellow;))
      .FillColor(MagickColors.Orange)
      .TextAlignment(TextAlignment.Center)
      .Text(256, 64, ;Magick.NET;)
      .StrokeColor(new MagickColor(0, Quantum.Max, 0))
      .FillColor(MagickColors.SaddleBrown)
      .Ellipse(256, 96, 192, 8, 0, 360)
      .Draw(image);
}

图片合并

using (var images = new MagickImageCollection()){    var first = new MagickImage(;c:pathtoSnakeware.png;);    images.Add(first);    var second = new MagickImage(;c:pathtoSnakeware.png;);    images.Add(second);    using(var result = images.Mosaic())    {      result.Write(;Mosaic.png;);   }}

项目地址

https://github.com/dlemstra/Magick.NET

- End -

技术群;添加小编微信并备注进群

小编微信;mm1552923   

公众号;dotNet编程大全    

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。