Xử lý hình ảnh với SixLabors.ImageSharp nutget trong .NET Core

Xử lý hình ảnh với SixLabors.ImageSharp nutget trong .NET Core

Với nuget này, mình dùng để Resize Image bằng SixLabors.ImageSharp trong .NET Core. Xem mình xử lý hình ảnh với System.Drawing.Common nuget trong .NET Core như thế nào nhé.

Giới thiệu sơ về SixLabors.ImageSharp:

ImageSharp là một API đồ họa 2D mới, đầy đủ tính năng, được quản lý đầy đủ, đa nền tảng nói chung và .NET Core nói riêng. Để load đươc image trong quá trình xử lý, ImageSharp mang đến cho bạn một API cực kỳ mạnh mẽ và đơn giản.

Nếu ta so sánh với System.Drawing, ImageSharp đã có thể phát triển một thứ linh hoạt hơn nhiều, dễ mã hóa hơn và ít bị rò rỉ bộ nhớ hơn nhiều. Hình ảnh ImageSharp an toàn và được hỗ trợ đầy đủ trong môi trường web.

SixLabors.ImageSharp nuget cung cấp thư viện để xử lý hình ảnh trong ASP.NET Core (Hiện tại mình dùng 2.1 và 2.2 đều ổn).

Trong dự án .NET Core VN, mình sử dụng SixLabors.ImageSharp để load hình ảnh lên sau đó cắt hình ảnh theo width, height thành một hình mới với width, height mình cần.

private void Image_resize(string input_Image_Path, string output_Image_Path, int width = 500, int height = 320)
        {
            using (Image<Rgba32> image = Image.Load(input_Image_Path))
            {
                image.Mutate(x => x
                     .Resize(image.Width > width ? width : image.Width, image.Height > height ? height : image.Height));
                image.Save(output_Image_Path);
            }
        }

Trong đoạn code ở trên, mình xử lý resize hình ảnh theo kích thước truyền vào và lưu nó và 1 đường dẫn output mình muốn.

Nếu hay các bạn có thể dùng, cảm ơn các bạn đã quan tâm.

Cài đặt nuget này tại đây: SixLabors.ImageSharp

Nguyễn Minh Tuấn

Nguyễn Minh Tuấn

Bài viết liên quan

Trả lời tới Xử lý hình ảnh với SixLabors.ImageSharp nutget trong .NET Core

Đăng nhập

Cảm ơn bạn đã phản hồi!