Xoay hình ảnh SVG C#

Các tệp SVG xác định đồ họa ở định dạng XML. Chúng có thể được thu nhỏ hoặc in ở bất kỳ kích thước nào mà không làm ảnh hưởng đến chất lượng của hình ảnh. Trong một số trường hợp, bạn có thể cần xoay ảnh SVG. Theo đó, bài viết này trình bày cách xoay ảnh SVG theo chương trình trong C#.

Xoay hình ảnh C# SVG - Cài đặt API

Aspose.SVG dành cho .NET hỗ trợ làm việc với các tệp SVG. Bạn có thể chỉnh sửa, cập nhật hoặc tạo ảnh SVG từ bên trong các ứng dụng dựa trên .NET Framework của mình. Chỉ cần tải xuống tệp DLL tham chiếu từ trang Tải xuống hoặc chạy lệnh cài đặt NuGet bên dưới:

PM> Install-Package Aspose.SVG

Cách xoay tệp ảnh SVG theo phương pháp lập trình trong C#

Bạn có thể xoay tệp hình ảnh SVG bằng các bước sau:

  1. Mở tệp SVG đầu vào và tạo phần tử đồ họa.
  2. Đặt chuyển đổi xoay và chỉ định mức độ cho xoay.
  3. Nối phần tử đồ họa.
  4. Lưu hình ảnh SVG đã xoay.

Xoay hình ảnh SVG theo chương trình trong C#

Bạn cần làm theo các bước bên dưới để xoay ảnh SVG trong C#:

  1. Tải tệp SVG đầu vào bằng lớp SVGDocument.
  2. Đề cập đến góc quay và thiết lập chuyển đổi xoay.
  3. Nối phần tử đồ họa.
  4. Ghi hình ảnh SVG đã xoay đầu ra bằng phương pháp Lưu.

Đoạn mã dưới đây giải thích cách xoay hình ảnh SVG với nội dung HTML được nhúng theo chương trình bằng C#:

// Mở tài liệu SVG
using var document = new SVGDocument("example.svg");

var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();

if (svg == null)
    return;

// Tạo phần tử đồ họa g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Đặt chuyển đổi xoay 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Sao chép phần tử con từ phần tử svg sang phần tử g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Xóa trẻ em khỏi svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Nối g elment vào svg elment
document.RootElement.AppendChild(g);

// Lưu tài liệu đã sửa đổi
document.Save("roatedexample.svg");

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

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

Sự kết luận

Trong bài viết này, bạn đã học cách xoay ảnh SVG theo chương trình trong C#. Ngoài ra, bạn có thể truy cập phần tài liệu để tìm hiểu các tính năng khác của API. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi tại diễn đàn.

Xem thêm