🏆作者:科技、互联网行业优质创作者
🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造
🏆欢迎关注我(Net数字智慧化基地),里面有很多高价值技术文章,是你刻苦努力也积累不到的经验,能助你快速成长。升职+涨薪!!

(在windows上可直接使用)
图片的裁剪、缩放、与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便。(具体代码将在文末给出)

现给出一张“原图”,如下:

(1)原图裁剪后的效果如下:

裁剪的方法使用说明如下:

PictureCut(Async)
声明:void PictureCut(string SourceFile, int CutStartPointX, int CutStartPointY, int CutWidth, int CutHeight, string TargetFile)
用途:图片裁剪
参数:(1)string SourceFile   --  原始图片文件路径
     (2)int CutStartPointX      --起始裁剪点X坐标
     (3)int CutStartPointY    --起始裁剪点Y坐标
     (4)int CutWidth        --裁剪宽度
     (5)int CutHeight      --裁剪高度
     (6)string TargetFile    --新生成的目标图片文件路径
返回:(无)

注意:X、Y坐标,是以图片左上角为原点而定,单位是像素。

(2)原图缩略后的效果如下:

缩略的方法使用说明如下:

PictureThumbnail(Async)
声明:void PictureThumbnail(string SourceFile, int FrameWidth, int FrameHeight, string TargetFile)
用途:图片缩略
参数:(1)string SourceFile   --  原始图片文件路径
     (2)int FrameWidth      --缩略框的宽度
     (3)int FrameHeight    --缩略框的高度
     (4)string TargetFile        --新生成的目标图片文件路径
返回:(无)

(3)原图加文字水印后的效果如下:

加文字水印的方法使用说明如下:

PictureTextWatermark(Async)
声明:void PictureTextWatermark(string SourceFile, string WaterText, System.Drawing.Font WaterTextFont, System.Drawing.Brush WaterTextBrush, int x, int y, string TargetFile)
用途:图片加“文字”水印
参数:(1)string SourceFile   --  原始图片文件路径
     (2)string WaterText  --水印文字
     (3)System.Drawing.Font WaterTextFont    --水印文字字体
(4)System.Drawing.Brush WaterTextBrush    --水印文字笔触
(5)int x    --水印图像的起始X坐标
(6)int y    --水印图像的起始Y坐标
     (7)string TargetFile        --新生成的目标图片文件路径
返回:(无)

(4)原图加图片水印后的效果如下:

加图片水印的方法使用说明如下:

PictureImageWatermark(Async)
声明:void PictureImageWatermark(string SourceFile, string WatermarkFile, int x, int y, string TargetFile)
用途:图片加“图像”水印
参数:(1)string SourceFile   --  原始图片文件路径
     (2)string WatermarkFile  --水印图像文件路径
     (3)int x    --水印图像的起始X坐标
(4)int y    --水印图像的起始Y坐标
     (5)string TargetFile        --新生成的目标图片文件路径
返回:(无)

以上4个实验的具体代码如下:

若是在.Net Core环境下,代码如下:

using DeveloperSharp.Framework.CoreUtility; //请先从NuGet引用DeveloperSharp包
--------------------------

   //首先在Startup.cs或Program.cs文件中进行工具预载
   Services.AddTransient<IUtility, Utility>();
--------------------------

   //IU是在相关文件中,通过依赖注入方式获取的IUtility类型对象
   //IU.PictureCutAsync("D:/fengjing.jpg", 500, 350, 200, 200, "D:/fj1.jpg");
   //IU.PictureThumbnailAsync("D:/fengjing.jpg", 400, 300, "D:/fj2.jpg");
   //IU.PictureTextWatermarkAsync("D:/fengjing.jpg", "世界,你好!", new Font("华文新魏", 40, FontStyle.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");
   //IU.PictureImageWatermarkAsync("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");

若是在.Net Framework环境下,代码如下:

using DeveloperSharp.Framework.CoreUtility; //请先从NuGet引用DeveloperSharp包
--------------------------

   IUtility ui = new Utility();
   //ui.PictureCut("D:/fengjing.jpg", 500, 350, 200, 200, "D:/fj1.jpg");
   //ui.PictureThumbnail("D:/fengjing.jpg", 400, 300, "D:/fj2.jpg");
   //ui.PictureTextWatermark("D:/fengjing.jpg", "世界,你好!", new Font("华文新魏", 40, FontStyle.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");
   //ui.PictureImageWatermark("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");

🏆欢迎关注我(Net数字智慧化基地),里面有很多高价值技术文章,是你刻苦努力也积累不到的经验,能助你升职+涨薪!!
🏆点击下方卡片关注公众号,里面有很多大佬的技术文章,能助你快速成长。还可免费领取如下15个视频教程!

回复'面试',获取C#/.NET/.NET Core面试宝典

回复'C#',领取零基础学习C#编程

回复'NET',领取.NET零基础入门到实战

回复'Linux',领取Linux从入门到精通

回复'wpf',领取高薪热门【WPF上位机+工业互联网】从零手写实战

回复'Modbus',领取初识C#+上位机Modbus通信

回复'PLC',领取C#语言与西门子PLC的通信实操

回复'blazor',领取blazor从入门到实战

回复'TypeScript',领取前端热门TypeScript系统教程

回复'vue',领取vue前端从入门到精通

回复'23P',领取C#实现23种常见设计模式

回复'MongoDB',领取MongoDB实战

回复'Trans',领取分布式事务

回复'Lock',领取分布式锁实践

回复'Docker',领取微服务+Docker综合实战

回复'K8s',领取K8s部署微服务

回复'加群',进.NET技术社区交流群 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐