ImageSharp
2D Qrafika üçün Açıq Mənbəli C# .NET Kitabxanası
.NET API istifadə edərək PNG, JPEG, GIF və TIFF şəkillərini oxuyun, yazın, dəyişdirin, ölçüsünü dəyişdirin və çevirin.
ImageSharp, C# proqramlarında təsvir fayllarının işlənməsi üçün sadə, lakin çox güclü platformalararası açıq mənbə kitabxanasıdır. Bu, şəkillərin işlənməsinə icazə vermək üçün nəzərdə tutulmuş tam idarə olunan və çarpaz platformalı 2D qrafika API-dir. ImageSharp, System.Drawing API-lərinə alternativ təmin etmək məqsədi ilə buraxılmış açıq mənbəli təsvir emalı kitabxanasıdır.
Bu API hərtərəflidir və təsvirin işlənməsi üçün qabaqcıl alqoritmləri dəstəkləyir. API ilbəil təkmilləşdirilmiş təsvirin işlənməsi üçün dəstək təmin edir. Onun yeganə asılılığı .NET-in özüdür ki, bu da onu son dərəcə portativ edir. API-yə təsvirin ölçüsünün dəyişdirilməsi, təsvirin kodlaşdırılması və dekodlanması, yalnız təsvir metadatasının deşifrə edilməsi, təsvirin klonlanması, şəklə su nişanının çəkilməsi, yol boyu mətnin çəkilməsi və sair kimi qabaqcıl funksiyalar üçün dəstək daxildir.
ImageSharp ilə işə başlamaq
Stabil buraxılış NuGet saytında əlçatandır. Beta versiyalar üçün Relizdən əvvəl Daxil et keçidinin aktiv olduğundan əmin olun. İnkişaf buraxılışları MyGet vasitəsilə mövcuddur.
NuGet vasitəsilə ImageSharp-ı quraşdırın
Install-Package SixLabors.ImageSharp -Version number
Şəkillərin ölçüsünü dəyişdirmək üçün C# API
ImageSharp kitabxanası C# .NET proqramçılarına öz .NET proqramları daxilində şəkillərin ölçüsünü dəyişməyə imkan verir. Şəklin ölçüsünün dəyişdirilməsi, hər piksel üçün hansı rəngin tətbiq olunacağını seçmək üçün hədəf təsvirin pikselləri və mənbə şəklin seçmə sahələrinin yaradılması və təkrarlanması prosesini tələb edir. Bicubic, Hermite, Box, CatmullRom, Lanczos2 və s. kimi şəkilləri emal edərkən alqoritmi asanlıqla təyin edə bilərsiniz. Əsas ölçü dəyişmə əməliyyatlarından başqa, ImageSharp daha təkmil xüsusiyyətlər də təklif edir.
C# API vasitəsilə Şəkillərin ölçüsünü dəyişdirin
// 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");
}
Şəklin üzərinə su nişanı çəkin
Adətən insanlar şəkilləri icazəsiz istifadə etmələrinin qarşısını almaq üçün üzərinə böyük su nişanı qoyaraq şəkillərini qoruyurlar. ImageSharp kitabxanası C++ proqramları daxilində şəkillərə su nişanı əlavə etmək üçün dəstək verir. Başlamaq üçün sizə şrift ailəsi lazımdır və onu sistem şrift mağazasından asanlıqla əldə edə bilərsiniz. Mətni şəklin üzərinə çəkin və 50% qeyri-şəffaflıqla boz rəngə çevirin.
Yol Boyu Mətn çəkin və Şəkilə Effekt Tətbiq edin
ImageSharp kitabxanası C# .NET tərtibatçılarına yolun konturlarından sonra bəzi mətnlər çəkməyə imkan verir. Şrift kolleksiyası yaratmaq tövsiyə olunur. Əvvəlcə mətni yol boyunca çəkilmiş vektorlar dəsti kimi yaradaq. Yolu çəkdikdən sonra mətnin nəyi izləməli olduğunu görə bilək. ImageSharp API həmçinin şəkillərə yalnız forma daxilində müxtəlif effektlər tətbiq etməyə imkan verir.
Şəkillərə Effekt Tətbiq edin
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");
}
}
}
}