ImageSharp
کتابخانه منبع باز C#.NET برای گرافیک دوبعدی
خواندن، نوشتن، تغییر، تغییر اندازه و تبدیل تصاویر PNG، JPEG، GIF و TIFF با استفاده از NET API.
ImageSharp یک کتابخانه متن باز چند پلتفرمی ساده و در عین حال بسیار قدرتمند برای پردازش فایل های تصویری در برنامه های C# است. این یک API گرافیکی دوبعدی کاملاً مدیریت شده و چند پلتفرمی است که برای امکان پردازش تصاویر طراحی شده است. ImageSharp یک کتابخانه پردازش تصویر منبع باز است که با هدف ارائه جایگزینی برای API های System.Drawing منتشر شد.
این API جامع است و از الگوریتم های پیشرفته برای پردازش تصویر پشتیبانی می کند. API سال به سال بهبود می یابد تا از پردازش تصویر پیشرفته تر پشتیبانی کند. تنها وابستگی آن خود دات نت است که آن را بسیار قابل حمل می کند. API از ویژگیهای پیشرفتهای مانند تغییر اندازه تصویر، رمزگذاری و رمزگشایی تصویر، رمزگشایی فقط ابرداده تصویر، شبیهسازی تصویر، ترسیم واترمارک روی تصویر، کشیدن متن در طول مسیر و بسیاری موارد دیگر پشتیبانی میکند.
شروع کار با ImageSharp
نسخه پایدار در NuGet در دسترس است برای نسخههای بتا، مطمئن شوید که سوئیچ Include Prerelease فعال است. نسخه های توسعه از طریق 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");
}
}
}
}