ImageSharp  

 
 

Бібліотека C# .NET з відкритим кодом для двовимірної графіки

Читайте, записуйте, змінюйте, змінюйте розмір і конвертуйте зображення PNG, JPEG, GIF і TIFF за допомогою .NET API.

ImageSharp — це проста, але дуже потужна міжплатформна бібліотека з відкритим кодом для обробки файлів зображень у програмах C#. Це повністю керований міжплатформенний API двовимірної графіки, призначений для обробки зображень. ImageSharp — це бібліотека обробки зображень із відкритим кодом, яка була випущена з метою надання альтернативи API System.Drawing.

Цей API є комплексним і підтримує розширені алгоритми обробки зображень. API удосконалюється з року в рік, щоб забезпечити підтримку більш розширеної обробки зображень. Його єдиною залежністю є сама .NET, що робить його надзвичайно портативним. API включає підтримку таких розширених функцій, як зміна розміру зображення, кодування та декодування зображення, декодування лише метаданих зображення, клонування зображення, малювання водяного знака на зображенні, малювання тексту вздовж контуру та багато іншого.

Previous Next

Початок роботи з 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");
            }
        }
    }
}              
 Українська