převést emf wmf na svg C#

WMF je zkratka pro Windows MetaFile, zatímco EMF je vylepšená verze, známá jako Enhanced MetaFile. Tyto metasoubory se často používají pro účely tisku. EMF nebo WMF můžete snadno převést do formátu obrázkového souboru SVG podle vašich požadavků. Pojďme si projít následující část, kde najdete další podrobnosti o těchto převodech souborů:

Převodník WMF nebo EMF na SVG - Instalace API

Aspose.Imaging for .NET API vám umožňuje vytvářet, manipulovat nebo upravovat WMF, EMF a několik dalších podporované formáty souborů. Rozhraní API můžete snadno nakonfigurovat stažením ze sekce Stahování nebo prostřednictvím galerie NuGet pomocí následujícího instalačního příkazu:

PM> Install-Package Aspose.Imaging

Převést WMF na SVG programově v C#

Obraz WMF na SVG můžete převést programově pomocí jazyka C# ve svých aplikacích založených na .NET. Pro obrázek WMF na SVG lze použít následující kroky:

  1. Načtěte vstupní soubor WMF
  2. Inicializujte objekt třídy WmfRasterizationOptions
  3. Uložit výstupní obrázek SVG

Níže uvedený úryvek kódu vysvětluje, jak převést WMF na obrázek SVG programově pomocí C#:

// Cesta ke vstupnímu souboru WMF
string sourcePath = dataDir + @"TextHintTest.wmf";

// Cesta k výstupnímu obrázku SVG
string destPath = dataDir + @"WMF_out.svg";

// Načtěte vstupní soubor WMF
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Inicializujte instanci WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Uložit výstupní obrázek SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Převést EMF na SVG programově pomocí C#

Soubory EMF lze efektivně převést do formátu souboru SVG. Chcete-li provést konverzi EMF, postupujte podle následujících kroků:

  1. Načtěte vstupní soubor EMF
  2. Inicializujte objekt třídy EmfRasterizationOptions
  3. Nastavte různé vlastnosti
  4. Uložit výstupní obrázek SVG

Následující kód je založen na těchto krocích. Vysvětluje, jak převést EMF na SVG programově pomocí C#:

// Cesta ke vstupnímu souboru EMF
string sourcePath = dataDir + @"test.emf";

// Cesta pro výstupní obrázek SVG
string destPath = dataDir + @"EMF_out.svg";

// Načtěte vstupní soubor EMF
using (Image image = Image.Load(sourcePath))
{                
    // Inicializovat objekt třídy EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

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

    // Uložit výstupní obrázek SVG
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Uložit text jako tvary během převodu EMF na SVG pomocí C#

Rozhraní API může vašim aplikacím umožnit zpracovávat formáty souborů pro různé případy použití. Jednoduše musíte provést některá volání API, aniž byste zvažovali jakékoli základní podrobnosti o formátu souboru. API podporuje mnoho vlastností pro řízení procesů konverze souborů. Můžete například uložit text jako tvary během vykreslování obrázku EMF do SVG. Jednoduše postupujte podle níže uvedených kroků:

  1. Načtěte vstupní soubor EMF
  2. Zadejte instanci EmfRasterizationOptions
  3. Nastavte booleovskou vlastnost na vykreslení textu jako tvarů
  4. Uložit výstupní soubor SVG

Níže uvedený kód vysvětluje, jak vykreslit text jako tvary při převodu EMF na soubor obrázku SVG s C#:

// Načtěte vstupní soubor EMF
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Zadejte instanci EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Uložit výstupní soubor SVG 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Nastavte booleovskou vlastnost pro vykreslení textu jako tvarů
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Závěr

Naučili jsme se, jak převádět nebo exportovat soubory EMF a WMF do obrazových souborů SVG programově pomocí C#. Funkce můžete dále prozkoumat, když se podíváte na Příklady projektu nebo Dokumentace API. Oceníme vaši zpětnou vazbu a návrhy, protože nám můžete kdykoli napsat na Free Support Forums.

Viz také