convertir emf wmf en svg C#

WMF est l’abréviation de Windows MetaFile tandis que EMF est une version améliorée, connue sous le nom de Enhanced MetaFile. Ces métafichiers sont fréquemment utilisés à des fins d’impression. Vous pouvez facilement convertir EMF ou WMF au format de fichier image SVG selon vos besoins. Passons en revue la section suivante pour plus de détails sur ces conversions de fichiers :

Convertisseur WMF ou EMF en SVG - Installation de l’API

L’API Aspose.Imaging for .NET vous permet de créer, de manipuler ou de modifier WMF, EMF et plusieurs autres formats de fichiers pris en charge. Vous pouvez facilement configurer l’API en la téléchargeant depuis la section Téléchargements, ou via la galerie NuGet avec la commande d’installation suivante :

PM> Install-Package Aspose.Imaging

Convertir WMF en SVG par programmation en C#

Vous pouvez convertir une image WMF en SVG par programme en utilisant le langage C# dans vos applications basées sur .NET. Les étapes suivantes peuvent être utilisées pour une image WMF vers SVG :

  1. Charger le fichier WMF d’entrée
  2. Initialiser l’objet de classe WmfRasterizationOptions
  3. Enregistrer l’image SVG de sortie

L’extrait de code ci-dessous explique comment convertir une image WMF en SVG par programmation à l’aide de C# :

// Chemin d'accès au fichier WMF d'entrée
string sourcePath = dataDir + @"TextHintTest.wmf";

// Chemin d'accès à l'image SVG de sortie
string destPath = dataDir + @"WMF_out.svg";

// Charger le fichier WMF d'entrée
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Initialiser l'instance WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Enregistrer l'image SVG de sortie
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Convertir EMF en SVG par programmation à l’aide de C#

Les fichiers EMF peuvent être efficacement convertis au format de fichier SVG. Veuillez suivre les étapes ci-dessous pour effectuer la conversion EMF :

  1. Charger le fichier EMF d’entrée
  2. Initialiser l’objet de classe EmfRasterizationOptions
  3. Définir différentes propriétés
  4. Enregistrer l’image SVG de sortie

Le code suivant est basé sur ces étapes. Il explique comment convertir EMF en SVG par programmation à l’aide de C# :

// Chemin d'accès au fichier EMF d'entrée
string sourcePath = dataDir + @"test.emf";

// Chemin d'accès à l'image SVG de sortie
string destPath = dataDir + @"EMF_out.svg";

// Charger le fichier EMF d'entrée
using (Image image = Image.Load(sourcePath))
{                
    // Initialiser l'objet de classe EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

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

    // Enregistrer l'image SVG de sortie
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Enregistrer le texte sous forme de formes lors de la conversion EMF en SVG à l’aide de C#

L’API peut permettre à vos applications de traiter les formats de fichiers pour différents cas d’utilisation. Vous devez simplement effectuer des appels d’API sans tenir compte des détails sous-jacents d’un format de fichier. L’API prend en charge de nombreuses propriétés pour contrôler les processus de conversion de fichiers. Par exemple, vous pouvez enregistrer du texte sous forme de formes lors du rendu d’image EMF vers SVG. Suivez simplement les étapes ci-dessous :

  1. Charger le fichier EMF d’entrée
  2. Spécifiez l’instance EmfRasterizationOptions
  3. Définissez la propriété booléenne pour rendre le texte sous forme de formes
  4. Enregistrer le fichier SVG de sortie

Le code ci-dessous explique comment restituer du texte sous forme de formes lors de la conversion d’un fichier image EMF en SVG avec C# :

// Charger le fichier EMF d'entrée
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Spécifier l'instance EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Enregistrer le fichier SVG de sortie 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Définir la propriété booléenne pour rendre le texte sous forme de formes
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Conclusion

Nous avons appris à convertir ou à exporter les fichiers EMF et WMF en fichiers image SVG par programmation à l’aide de C#. Vous pouvez explorer davantage les fonctionnalités en consultant Examples Project ou API Documentation. Nous apprécierons vos commentaires et suggestions car vous pouvez nous écrire à tout moment sur les Forums d’assistance gratuits.

Voir également