掌握ImageSharp:圖像處理的藝術(shù) — 從加載到添加文本,一步步領(lǐng)略圖像處理的奇妙世界
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
ImageSharp:.NET平臺(tái)上的靈活高性能圖像處理庫 ImageSharp 是一個(gè)強(qiáng)大的圖像處理庫,專為.NET平臺(tái)設(shè)計(jì)。無論是簡(jiǎn)單的圖像加載和保存,還是復(fù)雜的圖像處理、濾鏡應(yīng)用和文本添加,ImageSharp 提供了豐富而靈活的功能,使圖像處理變得簡(jiǎn)單而愉快。 主要特性:
使用場(chǎng)景:
1. 加載和保存圖像使用 ImageSharp 加載和保存圖像非常簡(jiǎn)單,以下是一個(gè)基本示例: using SixLabors.ImageSharp; class Program { static void Main() { // 加載圖像 using (var image = Image.Load("input.jpg")) { // 這里可以添加各種圖像處理操作 // 保存圖像 image.Save("output.jpg"); } } } 在這個(gè)例子中,我們使用 2. 圖像處理 - 調(diào)整大小、裁剪、濾鏡下面是一個(gè)演示如何調(diào)整圖像大小、裁剪和應(yīng)用濾鏡的實(shí)例: using SixLabors.ImageSharp; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.PixelFormats; class Program { static void Main() { // 加載圖像 using (var image = Image.Load<Rgba32>("input.jpg")) { // 調(diào)整大小 image.Mutate(x => x .Resize(new ResizeOptions { Size = new Size(300, 300), Mode = ResizeMode.Max })); // 裁剪 image.Mutate(x => x .Crop(new Rectangle(50, 50, 200, 200))); // 應(yīng)用濾鏡 - 灰度和反轉(zhuǎn)顏色 image.Mutate(x => x .Grayscale() // 轉(zhuǎn)為灰度 .InvertColors()); // 反轉(zhuǎn)顏色 // 保存處理后的圖像 image.Save("output_processed.jpg"); } } } 在這個(gè)示例中,我們使用 3. 縮略圖生成下面是一個(gè)示例,演示如何生成縮略圖: using SixLabors.ImageSharp; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.PixelFormats; class Program { static void Main() { // 加載圖像 using (var image = Image.Load<Rgba32>("input.jpg")) { // 生成縮略圖 var thumbnail = image.Clone(x => x .Resize(new ResizeOptions { Size = new Size(100, 100), Mode = ResizeMode.Crop })); // 保存生成的縮略圖 thumbnail.Save("thumbnail.jpg"); } } } 在這個(gè)示例中,我們使用 4. 添加文本下面是一個(gè)演示如何在圖像上添加文本的實(shí)例: using SixLabors.ImageSharp; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.PixelFormats; using SixLabors.Fonts; using System.Numerics; class Program { static void Main() { // 加載圖像 using (var image = Image.Load<Rgba32>("input.jpg")) { // 在圖像上添加文本 var font = SystemFonts.createFont("Arial", 16); var textOptions = new TextGraphicsOptions { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; image.Mutate(x => x .DrawText(textOptions, "Hello, ImageSharp!", font, Rgba32.White, new PointF(image.Width / 2, image.Height / 2))); // 保存帶有文本的圖像 image.Save("output_with_text.jpg"); } } } 在這個(gè)示例中,我們使用 這些示例展示了 ImageSharp 的一些基礎(chǔ)功能和高級(jí)功能。你可以根據(jù)實(shí)際需求,結(jié)合文檔和其他資源,進(jìn)一步深入使用 ImageSharp。 該文章在 2023/12/3 22:54:46 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |