Chuyển đổi SVG thành hình ảnh JPG PNG C#

SVG (Scalable Vector Graphics) là một định dạng phổ biến cho đồ họa dựa trên vector. Trong khi SVG cung cấp khả năng mở rộng và trình diễn chất lượng cao, bạn có thể thường xuyên cần chuyển đổi tệp SVG sang các định dạng hình ảnh raster như JPG hoặc PNG để tương thích rộng rãi hơn, chẳng hạn như nhúng trong báo cáo, trang web, hoặc ứng dụng di động. Trong bài viết blog này, chúng tôi sẽ hướng dẫn bạn các bước để chuyển đổi SVG sang JPGPNG trong C#.

Bộ chuyển đổi SVG sang hình ảnh - Cài đặt API C#

Để chuyển đổi SVG sang định dạng hình ảnh raster, bạn cần cài đặt Conholdate.Total for .NET từ New Releases hoặc chạy lệnh cài đặt NuGet sau:

PM> NuGet\Install-Package Conholdate.Total

Tại sao chuyển đổi SVG sang định dạng hình ảnh?

Có nhiều lý do tại sao các nhà phát triển và thiết kế cần chuyển đổi tệp SVG sang định dạng hình ảnh raster như JPG và PNG:

  • Tính tương thích: Nhiều ứng dụng và nền tảng không hỗ trợ SVG, nhưng họ hỗ trợ ngay JPG hoặc PNG.
  • Hiệu suất: Hình ảnh raster được hiển thị nhanh hơn trên một số nền tảng và tiêu tốn ít công suất xử lý hơn so với việc hiển thị SVG một cách động.
  • In ấn: SVG có thể mất chi tiết hoặc không hiển thị chính xác trong các định dạng in, trong khi PNG và JPG cung cấp chất lượng sẵn sàng in.
  • Tích hợp: Hình ảnh raster thường dễ dàng hơn để nhúng vào tài liệu, email và bài thuyết trình đa phương tiện.

Bây giờ, hãy cùng khám phá việc triển khai.

Chuyển đổi SVG sang JPG trong C#

Bạn có thể chuyển đổi định dạng SVG sang JPG trong C# với các bước sau:

  • Load any input SVG or define the SVG code.
  • Xác định đường dẫn nơi tệp JPG sẽ được lưu.
  • Sử dụng ImageSaveOptions để đặt định dạng đầu ra là JPEG.
  • Call ConvertSVG to process the conversion.

Dưới đây là mẫu cho thấy cách chuyển đổi SVG thành JPG trong C#:

// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
            "<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
            "</svg>";

// Chuẩn bị một đường dẫn để lưu tệp đã chuyển đổi
string savePath = Path.Combine(dataDir, "svgtojpgimage.jpg");

// Tạo một thể hiện của lớp ImageSaveOptions
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg);

// Chuyển đổi SVG sang JPG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);

Chuyển đổi SVG thành hình ảnh PNG trong C#

Để chuyển đổi SVG sang PNG, quy trình tương tự nhưng yêu cầu thay đổi định dạng đầu ra thành PNG:

  • Đọc SVG nguồn hoặc tạo bất kỳ hình ảnh SVG nào.
  • Provide the file path to write the PNG file.
  • Tạo một thể hiện của lớp ImageSaveOptions và chỉ định PNG là định dạng mong muốn.
  • Chuyển đổi SVG sang PNG với phương pháp ConvertSVG.

Mã đoạn bên dưới cho thấy cách chuyển đổi SVG thành PNG trong C#:

// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
            "<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
            "</svg>";

// Chuẩn bị một đường dẫn để lưu tệp đã chuyển đổi.
string savePath = Path.Combine(dataDir, "image.png");

// Tạo một thể hiện của lớp ImageSaveOptions
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png);

// Chuyển đổi SVG sang PNG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);

Giấy phép đánh giá miễn phí

Bạn có thể yêu cầu một giấy phép tạm thời miễn phí để kiểm tra API đến khả năng tối đa của nó.

Tóm tắt

Chuyển đổi SVG sang các định dạng hình ảnh raster như JPG và PNG là một yêu cầu phổ biến trong nhiều ứng dụng. Dù bạn cần hình ảnh chất lượng cao cho các ứng dụng web, báo cáo hay dự án đa phương tiện, các đoạn mã được cung cấp đảm bảo chuyển đổi SVG sang hình ảnh một cách đáng tin cậy. Trong trường hợp có bất kỳ lo ngại nào, xin vui lòng viết cho chúng tôi tại forum.

See Also