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

1.安装CodeCarvings.Piczard   Install-Package CodeCarvings.Piczard

2.生成缩略图

1 ImageProcessingJob jobThumb = new ImageProcessingJob(); 
2 jobThumb.Filters.Add(new FixedResizeConstraint(200, 200));//缩略图尺寸 200*200 
3 //生成缩略图可以调用SaveProcessedImageToFileSystem方法,也可以调用SaveProcessedImageToStream方法以流的方式生成
4 jobThumb.SaveProcessedImageToFileSystem(object source, string destFilePath) ;//以文件方式生成 source表示源文件路径 或者文件流,destFilePath表示目标文件名
5 jobThumb. SaveProcessedImageToStream(object source, Stream destStream);//以流方式生成 source表示源文件路径或者文件流,destFilePath表示目标文件名

保存的默认是 png 格式。如果想保存成其他格式,只要传最后一个 FormatEncoderParams 类 型 的 参 数 即 可 , 有 BmpFormatEncoderParams 、 GifFormatEncoderParams 、 JpegFormatEncoderParams、PngFormatEncoderParams 等子类。

3.生成水印

1 ImageWatermark imgWatermark = new ImageWatermark(水印图片路径);
2 
3 imgWatermark.ContentAlignment = System.Drawing.ContentAlignment.BottomRight;//水印 位置
4 
5 imgWatermark.Alpha = 50;//透明度,需要水印图片是背景透明的 png 图片
6 
7 ImageProcessingJob jobNormal = new ImageProcessingJob(); jobNormal.Filters.Add(imgWatermark);//添加水印
8 
9 jobNormal.Filters.Add(new FixedResizeConstraint(600, 600));//限制图片的大小,避免生成 大图。如果想原图大小处理,就不用加这个 Filter

这个组件还可以完成很多其他工作:截图图片一部分;图片缩放等。

posted @ 2018-06-08 11:22  一叶、知秋  阅读(320)  评论(0编辑  收藏  举报