1. Các sản phẩm
  2.   Hình ảnh
  3.   .NET
  4.   ImageSharp  

ImageSharp  

 
 

Thư viện C # .NET mã nguồn mở cho đồ họa 2D

Đọc, ghi, sửa đổi, thay đổi kích thước và chuyển đổi hình ảnh PNG, JPEG, GIF & TIFF bằng cách sử dụng .NET API.

ImageSharp là một thư viện mã nguồn mở đa nền tảng đơn giản nhưng rất mạnh mẽ để xử lý các tệp hình ảnh bên trong các ứng dụng C #. Nó là một API đồ họa 2D được quản lý hoàn toàn và đa nền tảng được thiết kế để cho phép xử lý hình ảnh. ImageSharp là một thư viện xử lý hình ảnh mã nguồn mở được phát hành với mục tiêu cung cấp một giải pháp thay thế cho các API System.Drawing.

API này toàn diện và hỗ trợ các thuật toán nâng cao để xử lý hình ảnh. API được cải tiến qua từng năm để cung cấp hỗ trợ cho việc xử lý hình ảnh nâng cao hơn. Sự phụ thuộc duy nhất của nó là chính .NET, điều này làm cho nó trở nên cực kỳ linh động. API đã bao gồm hỗ trợ cho các tính năng nâng cao như thay đổi kích thước hình ảnh, mã hóa và giải mã hình ảnh, chỉ giải mã siêu dữ liệu hình ảnh, sao chép hình ảnh, Vẽ hình mờ trên hình ảnh, Vẽ văn bản dọc theo đường dẫn, v.v.

Previous Next

Bắt đầu với ImageSharp

Bản phát hành Ổn định hiện có trên NuGet Đối với các phiên bản beta, hãy đảm bảo rằng công tắc Bao gồm trước Vui lòng được bật. Các bản phát triển có sẵn thông qua MyGet.

Cài đặt ImageSharp qua NuGet

Install-Package SixLabors.ImageSharp -Version number 

API C # để thay đổi kích thước hình ảnh

Thư viện ImageSharp cho phép các lập trình viên C # .NET thay đổi kích thước hình ảnh bên trong các ứng dụng .NET của riêng họ. Thay đổi kích thước hình ảnh yêu cầu quá trình tạo và lặp lại qua các pixel của hình ảnh mục tiêu và các vùng lấy mẫu của hình ảnh nguồn để chọn màu nào sẽ triển khai cho mỗi pixel. Bạn có thể dễ dàng đặt thuật toán khi xử lý hình ảnh, chẳng hạn như Bicubic, Hermite, Box, CatmullRom, Lanczos2, v.v. Ngoài các thao tác thay đổi kích thước cơ bản, ImageSharp còn cung cấp nhiều tính năng nâng cao hơn.

Hình ảnh kích thước qua 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");
}                
                  

Vẽ hình mờ trên hình ảnh

Thông thường, mọi người bảo vệ hình ảnh của họ bằng cách đặt một hình mờ lớn phủ lên để ngăn mọi người sử dụng hình ảnh mà không được phép. Thư viện ImageSharp cung cấp hỗ trợ thêm hình mờ vào hình ảnh bên trong ứng dụng C++. Để bắt đầu, bạn cần một họ phông chữ và bạn có thể dễ dàng lấy một họ từ kho phông chữ hệ thống. Vẽ văn bản trên hình ảnh và tô màu nó với độ mờ 50%.

Vẽ văn bản cùng một con đường và áp dụng hiệu ứng để hình ảnh

Thư viện ImageSharp cho phép các nhà phát triển C# .NET vẽ một số văn bản theo các đường viền của một đường dẫn. Bạn nên tạo một bộ sưu tập phông chữ. Trước tiên, hãy tạo văn bản dưới dạng một tập hợp các vectơ được vẽ dọc theo đường dẫn. Sau khi vẽ đường dẫn để chúng ta có thể thấy văn bản được cho là theo sau. API ImageSharp cũng cho phép áp dụng nhiều loại hiệu ứng khác nhau cho hình ảnh chỉ bên trong một hình dạng.

Áp dụng hiệu ứng để hình ảnh


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");
            }
        }
    }
}              
 Tiếng Việt