前言
支持.Net Core(2.0及以上)與.Net Framework(4.5及以上)可以部署在Docker, Windows, Linux, Mac。
圖片的裁剪、縮放、與加浮水印,是任何系統經常要用到的功能,它們現已整合到IUtility工具中,使用十分簡便。
裁剪
現給出一張「原圖」,如下:
原圖裁剪後的效果如下:
裁剪的方法使用說明
PictureCut(Async)
聲明:voidPictureCut(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座標,是以圖片左上角為原點而定,單位是像素。
縮略
原圖縮略後的效果如下:
縮略的方法使用說明
PictureThumbnail(Async)
聲明:voidPictureThumbnail(string SourceFile, int FrameWidth, int FrameHeight, string TargetFile)
用途:圖片縮略
參數:(1)string SourceFile -- 原始圖片檔路徑
(2)int FrameWidth --縮略框的寬度
(3)int FrameHeight --縮略框的高度
(4)string TargetFile --新生成的目標圖片檔路徑
返回:(無)
加文字浮水印
原圖加文字浮水印後的效果如下:
加文字浮水印的方法使用說明
PictureTextWatermark(Async)
聲明:voidPictureTextWatermark(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 --新生成的目標圖片檔路徑
返回:(無)
加圖片浮水印
原圖加圖片浮水印後的效果如下:
加圖片浮水印的方法使用說明
PictureImageWatermark(Async)
聲明:voidPictureImageWatermark(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個實驗的具體程式碼如下:
1、若是在.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, Font style.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");
//IU.PictureImageWatermarkAsync("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");
2、若是在.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, Font style.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");
//ui.PictureImageWatermark("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");
- EOF -