chuyển đổi emf wmf sang svg C#

WMF được viết tắt cho Windows MetaFile trong khi EMF là phiên bản cải tiến, được gọi là Enhanced MetaFile. Các siêu tệp này thường được sử dụng cho mục đích in ấn. Bạn có thể dễ dàng chuyển đổi EMF hoặc WMF sang định dạng tệp hình ảnh SVG theo yêu cầu của bạn. Hãy cùng chúng tôi xem qua phần sau để biết thêm chi tiết về các chuyển đổi tệp này:

Bộ chuyển đổi WMF hoặc EMF sang SVG - Cài đặt API

API Aspose.Imaging for .NET cho phép bạn tạo, thao tác hoặc chỉnh sửa WMF, EMF và một số định dạng tệp được hỗ trợ khác. Bạn có thể dễ dàng định cấu hình API bằng cách tải xuống từ phần Tải xuống hoặc qua thư viện NuGet với lệnh cài đặt sau:

PM> Install-Package Aspose.Imaging

Chuyển đổi WMF sang SVG theo chương trình trong C#

Bạn có thể lập trình chuyển đổi WMF sang SVG bằng ngôn ngữ C# trong các ứng dụng dựa trên .NET của mình. Các bước sau có thể được sử dụng cho hình ảnh WMF sang SVG:

  1. Tải tệp WMF đầu vào
  2. Khởi tạo đối tượng lớp WmfRasterizationOptions
  3. Lưu hình ảnh SVG đầu ra

Đoạn mã dưới đây trình bày chi tiết cách chuyển đổi WMF sang hình ảnh SVG theo cách lập trình bằng C#:

// Đường dẫn đến tệp WMF đầu vào
string sourcePath = dataDir + @"TextHintTest.wmf";

// Đường dẫn để xuất hình ảnh SVG
string destPath = dataDir + @"WMF_out.svg";

// Tải tệp WMF đầu vào
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Khởi tạo phiên bản WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Lưu hình ảnh SVG đầu ra
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Chuyển đổi EMF sang SVG Lập trình bằng C#

Các tệp EMF có thể được chuyển đổi hiệu quả sang định dạng tệp SVG. Vui lòng làm theo các bước dưới đây để thực hiện chuyển đổi EMF:

  1. Tải tệp EMF đầu vào
  2. Khởi tạo đối tượng lớp EmfRasterizationOptions
  3. Đặt các thuộc tính khác nhau
  4. Lưu hình ảnh SVG đầu ra

Đoạn mã sau dựa trên các bước này. Nó giải thích cách chuyển đổi EMF sang SVG theo cách lập trình bằng C#:

// Đường dẫn đến tệp EMF đầu vào
string sourcePath = dataDir + @"test.emf";

// Đường dẫn cho hình ảnh SVG đầu ra
string destPath = dataDir + @"EMF_out.svg";

// Tải tệp EMF đầu vào
using (Image image = Image.Load(sourcePath))
{                
    // Đối tượng lớp Initilaize EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Lưu hình ảnh SVG đầu ra
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Lưu văn bản dưới dạng hình dạng trong quá trình chuyển đổi EMF sang SVG bằng C#

API có thể cho phép các ứng dụng của bạn xử lý các định dạng tệp cho các trường hợp sử dụng khác nhau. Bạn chỉ cần thực hiện một số lệnh gọi API mà không cần xem xét bất kỳ chi tiết cơ bản nào của định dạng tệp. API hỗ trợ rất nhiều thuộc tính để kiểm soát quá trình chuyển đổi tệp. Ví dụ: bạn có thể lưu văn bản dưới dạng hình dạng trong quá trình kết xuất hình ảnh EMF sang SVG. Chỉ cần làm theo các bước được liệt kê bên dưới:

  1. Tải tệp EMF đầu vào
  2. Chỉ định phiên bản EmfRasterizationOptions
  3. Đặt thuộc tính boolean để hiển thị văn bản dưới dạng hình dạng
  4. Lưu tệp SVG đầu ra

Đoạn mã dưới đây giải thích cách hiển thị văn bản dưới dạng hình dạng trong khi chuyển đổi EMF thành tệp hình ảnh SVG bằng C#:

// Tải tệp EMF đầu vào
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Chỉ định phiên bản EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Lưu tệp SVG đầu ra 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Đặt thuộc tính boolean để hiển thị văn bản dưới dạng hình dạng
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Sự kết luận

Chúng tôi đã học cách chuyển đổi hoặc xuất các tệp EMF và WMF sang tệp ảnh SVG theo cách lập trình bằng C#. Bạn có thể khám phá thêm các tính năng bằng cách xem qua Dự án ví dụ hoặc Tài liệu API. Chúng tôi sẽ đánh giá cao phản hồi và đề xuất của bạn vì bạn có thể viết thư cho chúng tôi bất cứ lúc nào tại Diễn đàn hỗ trợ miễn phí.

Xem thêm