Bất cứ khi nào cần độ trong suốt của hình ảnh trên web, PNG là một trong những định dạng được nghĩ đến. Ảnh SVG cũng là một trong những định dạng ảnh được sử dụng phổ biến do khả năng mở rộng của nó. Để hiển thị hình ảnh tĩnh nhỏ, logo và hình ảnh có nền trong suốt, hình ảnh PNG thường được ưu tiên. Do tính tương thích hoặc bất kỳ lý do nào khác, thường phải chuyển đổi đồ họa vector SVG sang các định dạng khác. Bài viết này thảo luận về cách chuyển đổi đồ họa vector SVG thành hình ảnh PNG bằng C#.

Chuyển đổi SVG sang PNG bằng C# (Thang độ xám, Xoay, Lật, Hình mờ sáng)

.NET API để chuyển đổi hình ảnh

GroupDocs trao quyền cho các nhà phát triển với API Chuyển đổi để chuyển đổi định dạng hình ảnh thành nhiều định dạng khác. Hình ảnh được chuyển đổi cũng có thể được thay đổi trong quá trình chuyển đổi bằng cách sử dụng các tùy chọn nâng cao khác nhau. Trong bài viết này, tôi sẽ sử dụng GroupDocs.Conversion for .NET để chuyển đổi hình ảnh vectơ SVG thành hình ảnh PNG.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API bằng cách thêm gói của nó vào ứng dụng .NET của bạn thông qua NuGet.

PM> Install-Package GroupDocs.Conversion

Các ví dụ đang chạy cho các tính năng của nó cũng có sẵn trên GitHub. Truy cập tài liệuTham khảo API của nó để được hướng dẫn.

Chuyển đổi SVG sang hình ảnh PNG bằng C#

Hãy bắt đầu với việc chuyển đổi đồ họa vector sang định dạng PNG bằng cài đặt mặc định. Các bước sau đây cho biết cách chuyển đổi hình ảnh SVG thành PNG bằng C#.

  • Tải tệp SVG bằng lớp Converter.
  • Chuẩn bị các tùy chọn chuyển đổi hình ảnh.
  • Đặt loại tệp chuyển đổi là PNG.
  • Gọi phương thức Convert() với các tùy chọn đã chuẩn bị.

Mã nguồn C# sau đây chuyển đổi SVG thành hình ảnh PNG.

// Cách chuyển đổi tệp SVG sang định dạng PNG trong C# bằng API chuyển đổi .NET với các tùy chọn mặc định
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

Hình ảnh SVG sang PNG bằng Tùy chọn nâng cao bằng C#

Có thể áp dụng nhiều tùy chỉnh khác nhau cho đầu ra PNG trong khi chuyển đổi đồ họa vector. Dưới đây là một số tính năng hình ảnh PNG mà chúng ta có thể điều chỉnh:

  • độ sáng
  • Tương phản
  • Gamma
  • thang độ xám
  • Chế độ lật (Ngang / Dọc)
  • Góc quay
  • Chiều cao
  • Bề rộng
  • Chữ ký ảnh

Các bước sau đây cho biết cách chuyển đổi hình ảnh SVG thành PNG và áp dụng thêm các điều chỉnh cho tệp PNG kết quả.

  • Tải đồ họa SVG bằng lớp Converter.
  • Chuẩn bị các tùy chọn chuyển đổi hình ảnh.
  • Đặt loại tệp chuyển đổi là PNG.
  • Xác định các tùy chỉnh chọn lọc và điều chỉnh giá trị của chúng.
  • Chuyển đổi thành hình ảnh PNG bằng phương thức Convert() với các tùy chọn đã chuẩn bị sẵn.

Mã nguồn sau áp dụng tùy chỉnh trong chuyển đổi SVG sang PNG bằng C#. Bạn có thể áp dụng bất kỳ hiệu ứng nào trong số này hoặc kết hợp các hiệu ứng cho đầu ra PNG mong muốn.

// Chuyển đổi tệp SVG thành định dạng PNG trong C# bằng nhiều tùy chỉnh khác nhau
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // Áp dụng Watermark trên hình ảnh đã chuyển đổi
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Hãy kết luận. Chúng tôi đã tìm hiểu cơ sở và một chút chuyển đổi nâng cao của đồ họa véc tơ SVG sang định dạng PNG bằng C# trong các ứng dụng .NET. Chúng tôi đã học thêm cách xoay, lật hoặc thêm hình mờ vào tệp SVG khi được chuyển đổi sang định dạng PNG. Ngoài ra, chúng tôi đã học cách tinh chỉnh gamma và độ sáng cũng như cách BẬT và TẮT các tùy chọn thang độ xám.

Hãy thử chạy các ví dụ từ GitHub để giúp bạn xây dựng Trình chuyển đổi SVG sang PNG của riêng mình tương tự như trình chuyển đổi có sẵn tại groupdocs.app. Liên hệ với chúng tôi nếu có bất kỳ thắc mắc nào qua diễn đàn.

Xem thêm