需要引用 SixLabors.ImageSharp 和SixLabors.ImageSharp.Drawing

引用方法 NuGet包管理

添加程序包来源 https://www.myget.org/F/imagesharp  包括预览发行版  目前使用的是 1.0.0-beta0005 版本

3个引用

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Processing;

1图片与二维码合并

/// <summary>/// 合并图片 小图片放在大图片上面/// </summary>/// <param name="TempleBase64Str">模板大图片base64</param>/// <param name="OutputBase64Str">模板小图片base64</param>/// <param name="x">X坐标</param>/// <param name="y">y坐标</param>/// <returns></returns>public ImageResponse MergeImage(string TempleBase64Str, string OutputBase64Str, int x, int y){string strRet = null;if (string.IsNullOrEmpty(TempleBase64Str)){return new ImageResponse { success = false, errmsg = "请传入模板大图片base64" };}if (string.IsNullOrEmpty(OutputBase64Str)){return new ImageResponse { success = false, errmsg = "请传入模板小图片base64" };}if (x < 0 || y < 0){return new ImageResponse { success = false, errmsg = "坐标不能传入负数" };}try{byte[] templebytes = Convert.FromBase64String(TempleBase64Str);byte[] outputbytes = Convert.FromBase64String(OutputBase64Str);IImageFormat format = null;var imagesTemle = SixLabors.ImageSharp.Image.Load(templebytes, out format);var outputImg = SixLabors.ImageSharp.Image.Load(outputbytes);if (imagesTemle.Height - (outputImg.Height + y) <= 0){return new ImageResponse { success = false, errmsg = "Y坐标高度超限" };}if (imagesTemle.Width - (outputImg.Width + x) <= 0){return new ImageResponse { success = false, errmsg = "X坐标宽度超限" };}//进行多图片处理imagesTemle.Mutate(a =>{//还是合并 a.DrawImage(outputImg, 1, new SixLabors.Primitives.Point(x, y));});strRet = imagesTemle.ToBase64String(format);return new ImageResponse { success = true, base64Str = strRet };}catch (Exception ex) {return new ImageResponse { success = false, errmsg ="报错信息"+ex.Message };}}

2缩小倍数

outputImg.Mutate(ctx => ctx.Resize(outputImg.Width / 2, outputImg.Height / 2));

a.DrawImage(outputImg, 1, new SixLabors.Primitives.Point(x, y));   //参数1 范围是0-1 代表的模糊程度

最后生成的图片就是下面的样子 不过返回的是图片的base64字符串

byte[] 也可以转换从成

using (Stream fs = new MemoryStream(bytes))
//路径参数
using(FileStream streamTemple=System.IO.File.OpenRead("c/图片路径"))
using(MemoryStream output=new MemoryStream())
{...//保存图片
    imagesTemle.SaveAsJpeg(streamTemple);streamTemple.Close();...
}

这里是 官方文档 所有的功能详情 在这里面  https://sixlabors.github.io/docs/api/index.html    如果对您有用 点个赞呦

转载于:https://www.cnblogs.com/AnkerZhang/p/9447815.html

.net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp相关推荐

  1. C# 图形处理-缩略图,图片合并,图片写文字,图片调整

    1.根据源图片生成缩略图 /// <summary>/// 根据源图片生成缩略图/// </summary>/// <param name="imgPath_o ...

  2. 基于layer的图片弹出展示,默认原大小展示。图片太大则等比例缩小

    /**** html:<img src="img/1.jpg" onclick="showimg('img/1.jpg');">* 图片弹出展示,默 ...

  3. pdfbox替换模板标签,并将多个pdf合并为一个pdf(有图片插入图片)

    替换100个模板中部分标签后,并合并100个pdf模板文档.10个400kb的图片为一个pdf文档 耗时20s左右  1.导入pdfbox <dependencies><depend ...

  4. div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧

    div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧 在DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定 ...

  5. div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧(转)

    本人对前端处理不是很牛,所以转载这文章.原文地址:http://www.divcss5.com/wenji/w632.shtml DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小 ...

  6. Python学习笔记:使用PIL批量合成jpg+png图片,用于水印、合并图片,生成YOLO数据集+标注数据等等

    [Python学习笔记] 使用PIL,批量合成jpg+png图片,用于水印.合并图片,生成YOLO数据集+标注数据等等 起因:在了解很多关于YOLOv5的相关内容,于是尝试着去训练自己的游戏目标检测模 ...

  7. php GD库做水印功能,合并图片

    1.创建一个适应大小的底层图片 2.读取需要拼接的图片 $dst_data=file_get_contents($dst_src); $dst_img = imagecreatefromstring( ...

  8. 频谱图水印matlab,插件系列--简单水印(watermark-dom)和算法水印(频域方式图片合并)实现...

    插件github地址:https://github.com/saucxs/wat... 有详细的使用步骤,可以参考,不会用请留言,感觉可以,请给个星星. 一.简单水印(watermark-dom) 阿 ...

  9. PDF加图片、文字水印(自动调整比例)

    前段时间为公司PLM系统新增了发图签章功能(即给PDF加图片和文字水印),写下来做个备注. 需要注意的是图片要求是透明的(PS可做),可以根据当前页大小自动调整显示比例. 需要用到的jar包.iTex ...

  10. java为word、excel、pdf、ppt、图片添加图片水印(文字水印同理)

    使用idea开发,所需依赖如下: spire的下载.使用,代码中会给出网址.idea中选中右键,添加为库即可使用 <!--使用spire,导入的jar--> <dependency& ...

最新文章

  1. Velocity魔法堂系列二:VTL语法详解
  2. pmp每日三题(2022年2月16日)
  3. python科学计算笔记(十三)pandas的merge、concat合并数据集
  4. 怎么暂时关闭网站php,WordPress怎么临时关闭网站进行维护
  5. python paramiko invoke_shell_Python,paramiko,invoke_shell和丑陋的字符
  6. python递归查找_Python程序使用递归查找数字的幂
  7. 虚拟专题:知识图谱 | 事件图谱的构建、推理与应用
  8. java 全角半角符号转换_java 字符串全角半角转换
  9. Lesson 05 for Plotting in R for Biologists
  10. namenode节点无法启动解决方法
  11. 从客户需求开始你的供应链管理战略
  12. 计算机键盘输入法基础知识,3、使用键盘打字 --电脑基础知识
  13. protoc-gen-go的坑
  14. 从零开始行人重识别 [中文版]
  15. 关于nacos配置中心配置不成功的问题
  16. 义乌中级职称还用计算机吗,2021浙江职称,杭州职称,义乌职称评审改了哪些方面?别走弯路!...
  17. 最大化参数 火车头_火车头采集器教程:使用正则匹配模式采集数据
  18. Stata教程(6)---帮助功能
  19. 解决电脑(win10)打开右键反应很慢--测试有效
  20. 赛迪智库:我国车载显示产业加快“上路”的几点建议

热门文章

  1. hbase 伪分布安装 java_HBase伪分布搭建
  2. 【django】 model_to_dict ‘QuerySet‘ object has no attribute ‘_meta‘
  3. 区块链 Fisco bcos 智能合约(11)-深入浅出Solidity
  4. 微信小程序云开发教程-微信小程序的JS基础-常用的回调函数
  5. 微信小程序云开发教程-产品原型的意义
  6. php 删除字符前缀,thinkphp3.2.3如何删除同一前缀的缓存(File)
  7. 数据库学习----MySQL(一)
  8. 基于springboot+vue的汽车销售系统(前后端分离)
  9. liunx中查看安装软件和卸载软件和启动程序
  10. Oracle编译小结,20090525 Oracle知识总结