przekonwertuj emf wmf na svg C#

WMF to skrót Windows MetaFile, podczas gdy EMF to ulepszona wersja, znana jako Enhanced MetaFile. Te metapliki są często używane do celów drukowania. Możesz łatwo przekonwertować EMF lub WMF na format pliku obrazu SVG zgodnie z własnymi wymaganiami. Przejdźmy przez poniższą sekcję, aby uzyskać więcej informacji na temat tych konwersji plików:

Konwerter WMF lub EMF na SVG — instalacja interfejsu API

Aspose.Imaging for .NET API umożliwia tworzenie, modyfikowanie lub edycję plików WMF, EMF i kilku innych obsługiwanych formatów plików. Możesz łatwo skonfigurować API, pobierając je z sekcji Downloads lub poprzez galerię NuGet za pomocą następującego polecenia instalacyjnego:

PM> Install-Package Aspose.Imaging

Konwertuj WMF na SVG programowo w C#

Możesz programowo przekonwertować obraz WMF na obraz SVG przy użyciu języka C# w aplikacjach opartych na platformie .NET. Poniższe kroki można wykonać dla obrazu WMF do SVG:

  1. Załaduj wejściowy plik WMF
  2. Zainicjuj obiekt klasy WmfRasterizationOptions.
  3. Zapisz wyjściowy obraz SVG

Poniższy fragment kodu wyjaśnia, jak programowo przekonwertować obraz WMF na obraz SVG przy użyciu języka C#:

// Ścieżka do wejściowego pliku WMF
string sourcePath = dataDir + @"TextHintTest.wmf";

// Ścieżka do wyjściowego obrazu SVG
string destPath = dataDir + @"WMF_out.svg";

// Załaduj wejściowy plik WMF
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Zainicjuj instancję WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Zapisz wyjściowy obraz SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Konwertuj EMF na SVG programowo za pomocą C#

Pliki EMF można skutecznie konwertować do formatu plików SVG. Wykonaj poniższe czynności, aby przeprowadzić konwersję EMF:

  1. Załaduj wejściowy plik EMF
  2. Zainicjuj obiekt klasy EmfRasterizationOptions.
  3. Ustaw różne właściwości
  4. Zapisz wyjściowy obraz SVG

Poniższy kod jest oparty na tych krokach. Opisuje, jak programowo przekonwertować EMF na SVG przy użyciu C#:

// Ścieżka do wejściowego pliku EMF
string sourcePath = dataDir + @"test.emf";

// Ścieżka do wyjściowego obrazu SVG
string destPath = dataDir + @"EMF_out.svg";

// Załaduj wejściowy plik EMF
using (Image image = Image.Load(sourcePath))
{                
    // Zainicjuj obiekt klasy EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

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

    // Zapisz wyjściowy obraz SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Zapisz tekst jako kształty podczas konwersji EMF na SVG przy użyciu C#

Interfejs API może umożliwić aplikacjom przetwarzanie formatów plików dla różnych przypadków użycia. Po prostu musisz wykonać kilka wywołań interfejsu API bez uwzględnienia jakichkolwiek podstawowych szczegółów formatu pliku. API obsługuje wiele właściwości kontrolujących procesy konwersji plików. Na przykład możesz zapisać tekst jako kształty podczas renderowania obrazu EMF do SVG. Po prostu wykonaj czynności wymienione poniżej:

  1. Załaduj wejściowy plik EMF
  2. Określ instancję EmfRasterizationOptions.
  3. Ustaw właściwość logiczną, aby renderować tekst jako kształty
  4. Zapisz wyjściowy plik SVG

Poniższy kod wyjaśnia, jak renderować tekst jako kształty podczas konwersji EMF do pliku obrazu SVG za pomocą C#:

// Załaduj wejściowy plik EMF
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Określ instancję EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Zapisz wyjściowy plik SVG 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Ustaw właściwość logiczną, aby renderować tekst jako kształty
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Wniosek

Nauczyliśmy się, jak programowo konwertować lub eksportować pliki EMF i WMF do plików obrazów SVG przy użyciu języka C#. Możesz dokładniej zapoznać się z funkcjami, przeglądając Przykłady projektów lub Dokumentacja interfejsu API. Będziemy wdzięczni za opinie i sugestie, ponieważ w każdej chwili możesz do nas napisać na Bezpłatne fora wsparcia.

Zobacz też