前言:本系列文章適合有初/中級.NET知識的同學閱讀(請在電腦上打開頁面,獲取更好的閱讀效果)。
(1)本系列文章,旨在講述研發一個中大型項目所需要了解的一系列“基本構件”,並提供這些“基本構件”在全網的【最簡單】、【最快速】使用方法!!(並不深究技術原理)
(2)通過閱讀本系列文章,能讓你在正規“項目研發”方面快速入門+進階,並能達成“小團隊構建大網站”的目的。
(3)本系列文章采用的技術,已成功應用到人工智能、產業互聯網、社區電商、游戲、金融風控、智慧醫療、等項目上。
支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac。
圖片的裁剪、縮放、與加水印,是任何系統經常要用到的功能,它們現已集成到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中大型項目開發必備(1)–UUID全球通用唯一識別碼
- .NET中大型項目開發必備(2)–CORS跨域訪問
- .NET中大型項目開發必備(3)–數據庫的負載均衡
- .NET中大型項目開發必備(4)–數據庫的讀寫分離
- .NET中大型項目開發必備(5)–Web服務/WebApi的負載均衡
- .NET中大型項目開發必備(6)–IUtility工具介紹
- .NET中大型項目開發必備(7)–DataAccess數據庫訪問技術
- .NET中大型項目開發必備(8)–高效分頁
- .NET中大型項目開發必備(9)--http請求調用(Post與Get)
- .NET中大型項目開發必備(10)--圖片的裁剪、縮放、與加水印
- .NET中大型項目開發必備(11)--使用Redis緩存
- .NET中大型項目開發必備(12)--使用MQ消息隊列
- .NET中大型項目開發必備(13)--DataAccess數據庫訪問技術(續)
- .NET中大型項目開發必備(14)--數據庫的負載均衡(續)