ImageSharp
โอเพ่นซอร์ส C # .NET Library สำหรับกราฟิก 2D
อ่าน เขียน แก้ไข ปรับขนาดและแปลงรูปภาพ PNG, JPEG, GIF และ TIFF โดยใช้ .NET API
ImageSharp เป็นไลบรารีโอเพ่นซอร์สข้ามแพลตฟอร์มที่เรียบง่าย แต่ทรงพลังสำหรับการประมวลผลไฟล์รูปภาพภายในแอปพลิเคชัน C# เป็น API กราฟิก 2 มิติที่มีการจัดการเต็มรูปแบบและข้ามแพลตฟอร์มที่ออกแบบมาเพื่ออนุญาตการประมวลผลภาพ ImageSharp เป็นไลบรารีประมวลผลภาพโอเพนซอร์สที่เปิดตัวโดยมีเป้าหมายเพื่อเป็นทางเลือกแทน System.Drawing APIs
API นี้ครอบคลุมและรองรับอัลกอริธึมขั้นสูงสำหรับการประมวลผลภาพ API ได้รับการปรับปรุงทุกปีเพื่อรองรับการประมวลผลภาพขั้นสูง การพึ่งพาอาศัยกันเพียงอย่างเดียวคือ .NET เอง ซึ่งทำให้พกพาได้สะดวกมาก API ได้รวมการรองรับคุณสมบัติขั้นสูง เช่น การปรับขนาดรูปภาพ การเข้ารหัสและถอดรหัสรูปภาพ การถอดรหัสข้อมูลเมตาของรูปภาพเท่านั้น การโคลนรูปภาพ การวาดลายน้ำบนรูปภาพ การวาดข้อความตามเส้นทาง และอื่นๆ อีกมากมาย
เริ่มต้นใช้งาน ImageSharp
รุ่นเสถียรมีอยู่ใน NuGet สำหรับเวอร์ชันเบต้า ให้ตรวจสอบว่าได้เปิดใช้สวิตช์รวมรุ่นก่อนเผยแพร่แล้ว รุ่นการพัฒนามีให้บริการผ่าน MyGet
ติดตั้ง ImageSharp ผ่าน NuGet
Install-Package SixLabors.ImageSharp -Version number
C # API เพื่อปรับขนาดรูปภาพ
ไลบรารี ImageSharp ช่วยให้โปรแกรมเมอร์ C# .NET ปรับขนาดภาพภายในแอปพลิเคชัน .NET ของตนเองได้ การปรับขนาดรูปภาพต้องใช้กระบวนการสร้างและทำซ้ำผ่านพิกเซลของรูปภาพเป้าหมายและพื้นที่สุ่มตัวอย่างของรูปภาพต้นทางเพื่อเลือกสีที่จะใช้สำหรับแต่ละพิกเซล คุณสามารถตั้งค่าอัลกอริทึมได้อย่างง่ายดายเมื่อประมวลผลภาพ เช่น Bicubic, Hermite, Box, CatmullRom, Lanczos2 และอื่นๆ นอกเหนือจากการปรับขนาดพื้นฐานแล้ว ImageSharp ยังมีคุณสมบัติขั้นสูงเพิ่มเติมอีกด้วย
ปรับขนาดรูปภาพผ่าน C # API
// Load File
using (Image image = Image.Load("fileformat.jpg"))
{
// Resize file
image.Mutate(x => x
.Resize(image.Width / 2, image.Height / 2)
.greyscale());
// Save
image.Save("fileformat_out.jpg");
}
วาดลายน้ำบนรูปภาพ
โดยปกติแล้ว ผู้คนจะปกป้องรูปภาพของตนโดยใส่ลายน้ำขนาดใหญ่ทับเพื่อป้องกันไม่ให้ผู้อื่นใช้รูปภาพโดยไม่ได้รับอนุญาต ไลบรารี ImageSharp รองรับการเพิ่มลายน้ำให้กับรูปภาพภายในแอปพลิเคชัน C++ ในการเริ่มต้นคุณต้องมีตระกูลฟอนต์และคุณสามารถรับฟอนต์จากที่เก็บฟอนต์ของระบบได้อย่างง่ายดาย วาดข้อความบนรูปภาพ & ทำสีเทาด้วยความทึบ 50%
วาดข้อความตามเส้นทางและใช้ผลกับภาพ
ห้องสมุด ImageSharp ช่วยให้ผู้พัฒนา C # .NET วาดข้อความบางส่วนตามรูปทรงของเส้นทาง ขอแนะนําให้สร้างคอลเลกชันแบบอักษร ขั้นแรกให้สร้างข้อความเป็นชุดของเวกเตอร์ที่วาดไปตามเส้นทาง หลังจากวาดเส้นทางเพื่อให้เราสามารถดูสิ่งที่ข้อความควรจะดังต่อไปนี้ ImageSharp API ยังอนุญาตให้ใช้ชนิดต่าง ๆ ของผลกระทบภาพภายในรูปร่างเท่านั้น
นําไปใช้กับรูปภาพ
namespace CustomImageProcessor
{
static class Program
{
static void Main(string[] args)
{
System.IO.Directory.CreateDirectory("output");
using (Image image = Image.Load("fb.jpg"))
{
var outerRadii = Math.Min(image.Width, image.Height) / 2;
var star = new Star(new PointF(image.Width / 2, image.Height / 2), 5, outerRadii / 2, outerRadii);
using (var clone = image.Clone(p =>
{
p.GaussianBlur(15); // apply the effect here you and inside the shape
}))
{
clone.Mutate(x => x.Crop((Rectangle)star.Bounds));
var brush = new ImageBrush(clone);
// cloned image with the effects applied
image.Mutate(c => c.Fill(brush, star));
}
image.Save("output/fb.png");
}
}
}
}