技术栈:

1.ImageProcessor(专业图像处理,不能合成水印,NetCore中有它的升级版ImageSharp目前是预览包)

2.CodeCarvings.Piczard(缩略图,水印都能搞得定)

代码:

-----------------------------------------------------------

#region 图片裁剪(缩略图/等比缩放/固定宽高)
var path = "E:\\test.jpg";
var outpath = "E:\\test_out400X400.jpg";
var outpath2 = "E:\\test_out2_400X400.jpg";
var waterpath = "E:\\watermark.jpg";
var wateroutpath = "E:\\test_out_watermark.jpg";
var bytes = File.ReadAllBytes(path);
using (Stream inStream = new MemoryStream(bytes))
{
//方式一,CodeCarvings.Piczard
ImageProcessingJob jobThumb = new ImageProcessingJob();
jobThumb.Filters.Add(new FixedResizeConstraint(400, 400));
jobThumb.SaveProcessedImageToFileSystem(inStream, outpath);
inStream.Position = 0;//指针复位

//方式二,ImageProcessor
using (ImageFactory imageFactory = new ImageFactory(true))
{
imageFactory.Load(inStream)
.Resize(new ResizeLayer(new Size(400, 400), ResizeMode.BoxPad, AnchorPosition.Center))
.BackgroundColor(Color.White)
.Quality(100)
.Save(outpath2);
}
inStream.Position = 0;//指针复位
}
#endregion

#region 图片水印
ImageWatermark imgWatermark = new ImageWatermark(waterpath);//水印图片位置
imgWatermark.ContentAlignment = ContentAlignment.MiddleCenter;//水印位置
imgWatermark.Alpha = 100;//透明度,需要水印图片是背景透明的png图片
ImageProcessingJob jobNormal = new ImageProcessingJob();
jobNormal.Filters.Add(imgWatermark);//添加水印
//jobNormal.Filters.Add(new FixedResizeConstraint(600, 600));//添加图片缩放,水印可能会不清晰
jobNormal.SaveProcessedImageToFileSystem(bytes, wateroutpath);
#endregion

-----------------------------------------------------------

参考:https://www.cnblogs.com/pengze0902/p/6569360.html

https://www.cnblogs.com/viplued/p/9289579.html

跨平台方案:https://www.cnblogs.com/chenug/p/6655745.html

http://www.cnblogs.com/AnkerZhang/p/9447815.html

使用ImageProcessor、CodeCarvings.Piczard组件生成缩略图和添加水印的更多相关文章

  1. C#如何生成缩略图、水印

    1.安装CodeCarvings.Piczard   Install-Package CodeCarvings.Piczard 2.生成缩略图 ImageProcessingJob jobThumb ...

  2. PHP-生成缩略图和添加水印图-学习笔记

    1.开始 在网站上传图片过程,经常用到缩略图功能.这里我自己写了一个图片处理的Image类,能生成缩略图,并且可以添加水印图. 2.如何生成缩略图 生成缩略图,关键的是如何计算缩放比率. 这里,我根据 ...

  3. ASP组件AspJpeg(加水印)生成缩略图等使用方法

    ASP组件AspJpeg(加水印)生成缩略图等使用方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-12-17我要评论 ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出 ...

  4. Spring中MultipartHttpServletRequest实现文件上传 生成缩略图

    转贴自:http://my.oschina.net/nyniuch/blog/185266 实现图片上传  用户必须能够上传图片,因此需要文件上传的功能.比较常见的文件上传组件有Commons Fil ...

  5. C# webform上传图片并生成缩略图

    其实里面写的很乱,包括修改文件名什么的都没有仔细去写,主要是想记录下缩略图生成的几种方式 ,大家明白就好! void UpImgs() { if (FileUpload1.HasFile) { str ...

  6. phpcms v9图片生成缩略图变成黑色解决方法

    今天客户反映,上传的图片生成缩略图有的图片变成黑色,出现问题就百度了一下,有不少网友也遇到这样的问题,但是官方论坛也没有给出解决办法,那还得靠自己解决了,于是就研究phpcms v9 图片压缩代码.打 ...

  7. ngx_image_thumb模块生成缩略图

    ngx_image_thumb是nginx中用来生成缩略图的模块. 编译前确定已经安装了libcurl-dev libgd2-dev libpcre-dev gd-devel pcre-devel l ...

  8. js无刷新上传图片,服务端有生成缩略图,剪切图片,iphone图片旋转判断功能

    html: <form action="<{:AppLink('circle/uploadimg')}>" id="imageform" me ...

  9. .net又一个生成缩略图的方法,不变形

    生成缩略图是一个十分常用功能,找到了一个方法,重写部分代码,实用又好用,.net又一个生成缩略图的方法,不变形 /// <summary> /// 为图片生成缩略图 by 何问起 /// ...

随机推荐

  1. php 获取城市ip

    /** * 获取ip城市信息 * CreateBy XueSong * @param string $ip * @return array|bool|mixed */ function getCity ...

  2. hdu 6082 2017百度之星资格赛

    #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #inclu ...

  3. vue采坑之——vue里面渲染html 并添加样式

    在工作中,有次遇到要把返回的字符串分割成两部分,一部分用另外的样式显示. 这时候,我想通过对得到字符串进行处理,在需要特别样式的字符串片段用html标签(用的span)包裹起来再通过变量绑定就好了.不 ...

  4. 使ul中的li居中

    1.如果li设置了float:left; 解决办法: 1.ul父元素的标签设置:text-align: center; 2.ul设置: display: inline-block; 2.li不设置fl ...

  5. Unity Cube一面显示图片

    Cube加plane 把plane调整到和cube的一面一样大小,并放到那一面的位置,然后再Hierarchy面板选中plane,把图片拖到Inspector的plane下.

  6. dotnet跨平台 - 使用Nginx+Docker Compose运行.NETCore项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  7. iOS 更改状态栏文字颜色

    第一步:在info.plist中添加一个字段:view controller -base status bar 设置为NO 第二步: 在AppDelegate.m的 didFinishLaunchin ...

  8. json字符转java bean忽略大小写

    使用objectMapper进行json字符的解析 com.fasterxml.jackson.databind.ObjectMapper ob =new com.fasterxml.jackson. ...

  9. Python诞生以来意义菜谱

    自Python诞生以来,它被誉为最简单的编程语言.进入人工智能时代后,它逐渐成为编程领域的主导语言. Python是一种快速.强大.高效和灵活的编程语言家常菜做法大全.学习后,无论您是想进入数据分析菜 ...

  10. 系统性能分析-vmstat命令详解

    最近温馨巩固Linux 操作系统的 vmstat命令,这个命令所能打印的系统信息满多的,比较好用,就顺当记录下重要的点,方便以后排查系统问题时拿出来用 字段 含义 procs 进程信息字段: -r:正 ...