.NET集成DeveloperSharp實現圖片的裁剪、縮放、與加水印

🏆作者:科技、互聯網行業優質創作者
🏆專注領域:.Net技術、軟件架構、人工智能、數字化轉型、DeveloperSharp、微服務、工業互聯網、智能制造
🏆歡迎關注我(Net數字智慧化基地),里面有很多高價值技術文章,是你刻苦努力也積累不到的經驗,能助你快速成長。升職+漲薪!!

DeveloperSharp系列近期又被制造業ERP、民航飛行App、建筑BIM、電力掌上營業廳、等多家大型采用,站在巨人的肩膀上你能走的更遠。

支持.Net Core2.0及以上,支持.Net Framework4.0及以上

圖片的裁剪、縮放、與加水印,是任何系統經常要用到的功能,它們現已集成到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/C#中大型項目開發),里面有很多高價值技術文章,能助你漲薪+升職!讓你快速成長為相關領域的架構師、領航員。也能讓普通中小企業輕松享有大型互聯網分布式系統解決方案。
🏆同時,專欄(.NET/C#中大型項目開發)的內容也能教你采用最簡單的方式開發.NET/C#中大型應用——理清技術脈絡、形成思維體系、獲取最佳實踐、框架開發能力。讓你具備挑戰百萬年薪的基礎,逐漸成為國內一流.NET/C#從業者。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/22104.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22104.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22104.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache Doris 基礎 -- 數據表設計(表索引)

1、索引概述 索引用于幫助快速過濾或搜索數據。目前&#xff0c;Doris支持兩種類型的索引:內置智能索引和用戶創建的二級索引。 內置智能索引 排序鍵和前綴索引:Apache Doris基于排序鍵以有序的方式存儲數據。它為每1024行數據創建一個前綴索引。索引中的鍵是當前1024行組的…

github搭建個人博客

準備工作 windows安裝nodejs windows安裝git windows安裝hexo 擁有gitee個人賬戶 配置信息 通過gitee創建博客倉庫 登錄gitee平臺&#xff0c;進入主界面&#xff0c;右側加號&#xff0c;新建倉庫&#xff0c;注意&#xff1a;倉庫名稱和gitee用戶名稱一致 生成/添加 SSH 公…

初級網絡工程師之入門到入獄(一)

本文是我在學習過程中記錄學習的點點滴滴&#xff0c;目的是為了學完之后鞏固一下順便也和大家分享一下&#xff0c;日后忘記了也可以方便快速的復習。 網絡工程師從入門到入獄 前言一、交換機二、路由器三、DHCP&#xff08;動態主機配置協議&#xff09;四、路由器配置 DHCP自…

【golang】go語言讀取Excel表格中的數據

導入庫基本用法封裝 在Go語言中&#xff0c;可以使用第三方庫來讀取Excel文件。 常用的庫是github.com/tealeg/xlsx&#xff0c;提供了處理Excel文件的功能。 導入庫 首先&#xff0c;安裝"github.com/tealeg/xlsx"庫。可以通過以下命令在終端中安裝&#xff1a; g…

Transformer系列:Greedy Search貪婪搜索解碼流程原理解析

解碼器預測流程簡述 Encoder-Decoder這類框架需要在解碼器中分別拿到前文已經翻譯的輸入&#xff0c;以及編碼器的輸出這兩個輸入&#xff0c;一起預測出下一個翻譯的單詞。在訓練階段&#xff0c;一個句子通過右移一位的方式轉化為從第二個詞到最后一個詞的逐位預測任務&…

Springboot vue elementui 前后端分離 事故災害案例管理系統

源碼鏈接 系統演示:https://pan.baidu.com/s/1hZQ25cpI-B4keFsZdlzimg?pwdgw48

【Golang】go語言寫入數據并保存Excel表格

導入包創建文件添加表格添加行添加單元格保存文件封裝 導入包 首先&#xff0c;安裝github.com/tealeg/xlsx庫。可以通過以下命令在終端中安裝&#xff1a; go get github.com/tealeg/xlsx創建文件 指定好文件的名字 fileName : "D:\\a.xlsx"再判斷文件是否存在&…

Java集合概述

分類 分為兩大類&#xff1a;Collection接口類和Map接口類 這兩個接口都繼承自一個共同的接口&#xff1a;Iterable接口&#xff0c;意為可迭代的 Iterable接口當中有一個Iterator迭代器接口對象&#xff0c;作為接口的變量&#xff08;public static final修飾&#xff09;…

Win10字體模糊?記好這5個方法,解決問題很簡單!

“我的電腦是win10的&#xff0c;不知道是什么原因&#xff0c;電腦字體總是很模糊&#xff0c;大家有什么方法可以解決這個問題嗎&#xff1f;” 在數字時代的浪潮中&#xff0c;Win10以其出色的性能和豐富的功能贏得了廣大用戶的青睞。然而&#xff0c;就像任何一款操作系統一…

廣東電網突破2億千瓦,華火新能源電燃灶引領綠色烹飪“灶”未來

近日&#xff0c;廣東電網統調裝機容量歷史性突破2億千瓦&#xff0c;標志著廣東省在電力發展上邁出了堅實的步伐。這一重大成就不僅彰顯了廣東在能源領域的強勁實力&#xff0c;也為華火新能源電燃灶等綠色技術的普及應用提供了有力的支撐。 廣東電網統調裝機容量的突破&#…

用ffmpeg對視頻添加語音、背景音樂和字幕的方法

先看代碼&#xff1a; ffmpeg.exe ^ -i "D:/test/video.mp4" ^ -i "D:/test/voice.mp3" ^ -i "D:/test/music.mp3" ^ -i "D:/test/voice.srt" ^ -filter_complex "[1:a]volume1.0,asetptsPTS-STARTPTS[a_voice];[2:a]volume0.5,…

【 0 基礎 Docker 極速入門】鏡像、容器、常用命令總結

Docker Images&#xff08;鏡像&#xff09;生命周期 Docker 是一個用于創建、部署和運行應用容器的平臺。為了更好地理解 Docker 的生命周期&#xff0c;以下是相關概念的介紹&#xff0c;并說明它們如何相互關聯&#xff1a; Docker&#xff1a; Docker 是一個開源平臺&#…

重生奇跡mu五大王國

勇者大陸王國 奇跡大陸的戰士&#xff0c;他們因為非常重視劍&#xff0c;而且穿著黑色的衣服&#xff0c;所以叫他們魔劍士。古代勇者大陸王國的魔劍士們都是用鎧甲偽裝自己的。但是這些個聯合國統一成一個帝國之后&#xff0c;勇者大陸王國漸漸成為一個小城市。千年之后的現…

數據持久化第七課-URL重寫與Ajax

數據持久化第七課-URL重寫與Ajax 一.預習筆記 1.URL重寫(對網頁地址進行保護) 首先編寫module,實現對網絡地址的處理 其次就是module的配置 最后驗證url重寫技術 2.Ajax數據交互 編寫后端響應數據 處理跨域的配置問題 運行項目得到后端響應數據的地址 編寫前端ajax進行數據請…

程序人生 - 前端拿到后端數據,不能直接用還要再處理,合理嗎?

前言 從后端拿到的 list 是散的&#xff0c;需要前端遍歷 list 根據 item 的某些屬性把同類型的 item 合并到一個 list 中&#xff0c;這樣合理嗎&#xff1f;我覺得這個不是應該在后端完成的嗎&#xff1f; 這種撕扯&#xff0c;讓我想起很久之前的一個笑話。我有個朋友之前…

EXCEL上傳得時候特殊情況

比如excel里面不全是我們需要的&#xff0c;還有一些需要處理EXCEL中的日期&#xff0c;去掉‘-’等 DATA:begin_row TYPE i VALUE 2,begin_col TYPE i VALUE 1,end_row TYPE i VALUE 9999,end_col TYPE i VALUE 90,filename TYPE rlgrap-filename,gt_excel TYPE zalsme…

AI產品經理系列-如何使用kimi快速撰寫用戶故事(含提示詞)

在AI時代&#xff0c;可能人人都可成為產品經理。 之前我們聊過如何使用kimi協助完成產品需求文檔&#xff0c;如何寫競品分析報告&#xff0c;這一篇我們聊聊用戶故事&#xff0c;如何使用kimi協助撰寫產品需求文檔中的用戶故事。 在此之前我們先了解下什么是用戶故事&#…

深入理解Django Serializer及其在Go語言中的實現20240604

深入理解Django Serializer及其在Go語言中的實現 在現代Web開發中&#xff0c;前后端分離已成為主流架構模式。作為開發者&#xff0c;我們經常需要處理數據的序列化和反序列化&#xff0c;以便在前后端之間傳遞數據。在Django中&#xff0c;Serializer是一個強大的工具&#…

Spring類加載機制揭秘:深度解析“驗證”階段

1. 引言 在Spring框架中&#xff0c;類加載機制是一個至關重要的環節&#xff0c;它確保了應用程序在運行時能夠正確地加載、鏈接和初始化所需的類。其中&#xff0c;驗證&#xff08;Verification&#xff09;作為類加載機制的一個重要階段&#xff0c;起到了至關重要的作用。…

車牌號碼智能監測識別攝像機

車牌號碼智能監測識別攝像機是一項革命性的技術&#xff0c;為交通管理和安全提供了全新的解決方案。這種攝像機利用先進的人工智能和圖像識別技術&#xff0c;能夠實時監測道路上的車輛&#xff0c;并準確識別車輛的車牌號碼&#xff0c;為交通管理和安全提供了強有力的支持。…