1. Продукти
  2.   Образ
  3.   .NET
  4.   ImageSharp  

ImageSharp  

 
 

C# .NET библиотека с отворен код за 2D графики

Четете, пишете, променяйте, преоразмерявайте и конвертирайте PNG, JPEG, GIF и TIFF изображения с помощта на .NET API.

ImageSharp е проста, но много мощна библиотека с отворен код за различни платформи за обработка на файлове с изображения в C# приложения. Това е напълно управляван и междуплатформен 2D графичен 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");
            }
        }
    }
}              
 Български