1. Məhsullar
  2.   Şəkil
  3.   .NET
  4.   ImageSharp  

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.

Previous Next

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");
            }
        }
    }
}              
 Azəri