Class EmfImage

Class EmfImage

Le nom : Aspose.Imaging.FileFormats.Emf Assemblée: Aspose.Imaging.dll (25.4.0)

L’API pour l’amélioration du format Metafile (EMF) est un support pour le format d’image vectoriel.un outil complet pour traiter les images graphiques dans un appareil indépendantde façon à préserver leurs propriétés originales. développé pour maintenirproportions, dimensions, couleurs et autres attributs graphiques, il comprendEMF Plus format support et fonctionnalités pour les régions de récolte, recouvrement de canvaset images, rotation, flipping, paramètres de palettes d’image, exportation et importationle contexte de l’appareil APS, la compression et la conversion d’EMF en autres formats,La manipulation versatile et l’intégration sans fil des images EMF à travers les applications.

[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

I membri ereditari

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.Records , VectorImage.GetEmbeddedImages() , VectorImage.RemoveBackground() , VectorImage.RemoveBackground(RemoveBackgroundSettings) , VectorImage.Resize(int, int, ResizeType) , VectorImage.Resize(int, int, ImageResizeSettings) , VectorImage.RotateFlip(RotateFlipType) , VectorImage.Crop(Rectangle) , VectorImage.Rotate(float) , VectorImage.SizeF , VectorImage.WidthF , VectorImage.HeightF , VectorImage.Width , VectorImage.Height , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

L’exemple ci-dessous montre comment convertir une image emz en emf fromat

string file = "example.emz";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".emf";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions {PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions {VectorRasterizationOptions = vectorRasterizationOptions});
                                                                                }

L’exemple ci-dessous montre comment convertir une image emf en emz fromat

string file = "input.emf";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".emz";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions, Compress = true});
                                                                                }

L’exemple ci-dessous montre comment convertir une image comprimée (et EMZ,.wmz, *.svgz) pour raster fromat

string[] files = new[] {"example.emz", "example.wmz", "example.svgz"};
                                                                                                                string baseFolder = System.IO.Path.Combine("D:","Compressed");
                                                                                                                foreach (var file in files)
                                                                                                                {
                                                                                                                    string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                                                    string outFile = inputFile + ".png";
                                                                                                                    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                                                    {
                                                                                                                        Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
                                                                                                                        image.Save(outFile, new Aspose.Imaging.ImageOptions.PngOptions(){VectorRasterizationOptions = vectorRasterizationOptions});
                                                                                                                    }
                                                                                                                }

Cet exemple montre comment charger une image EMF d’un fichier et la convertir à SVG en utilisant EmfRasterizationOptions.

string dir = "c:\\temp\\";

                                                                                                                      // Using Aspose.Imaging.Image.Load is a unified way to load all types of images including EMF.
                                                                                                                      using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
                                                                                                                      {
                                                                                                                          Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

                                                                                                                          // Text will be converted to shapes.
                                                                                                                          saveOptions.TextAsShapes = true;

                                                                                                                          Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();

                                                                                                                          // The background color of the drawing surface.
                                                                                                                          rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

                                                                                                                          // The page size.
                                                                                                                          rasterizationOptions.PageSize = emfImage.Size;

                                                                                                                          // If embedded emf exists, then render emf; otherwise render wmf.
                                                                                                                          rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;

                                                                                                                          // Set the horizontal margin
                                                                                                                          rasterizationOptions.BorderX = 50;

                                                                                                                          // Set the vertical margin
                                                                                                                          rasterizationOptions.BorderY = 50;

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

                                                                                                                          emfImage.Save(dir + "test.output.svg", saveOptions);
                                                                                                                      }

Constructors

EmfImage()

Commencez à travailler avec des images EMF en initialisant une nouvelle instance de laAspose.Imaging.FileFormats.Emf. EmfImage classe. Idéal pour incorporer rapidement des images EMF dansVos projets sont faciles et efficaces.

[JsonConstructor]
public EmfImage()

EmfImage(int, int)

Créer une nouvelle instance de la classe Aspose.Imaging.FileFormats.Emf. EmfImage en spécifiant la largeuret paramètres de hauteur. ce constructeur simplifie le processus d’initialisationImages EMF avec des dimensions spécifiques, améliorant l’efficacité de votre développementflux de travail.

public EmfImage(int width, int height)

Parameters

width int

La larghezza .

height int

La altezza .

Properties

BitsPerPixel

Retirez le nombre de bit par pixel spécifique aux images de raster, comme ce paramètrene s’applique pas aux images vectorielles. déterminer rapidement la profondeur des pixels du rasterimages pour une analyse et une manipulation précises, assurant un traitement précisdes données d’image.

public override int BitsPerPixel { get; }

Valore di proprietà

int

Exceptions

NotImplementedException

Invalidité pour les images vectorielles.

FileFormat

Accès à la valeur du format de fichier associée à l’objet.le format du fichier associé à l’objet pour un traitement simplifié etVérification de compatibilité. simplifier votre flux de travail en récupérant le format de fichierInformations avec facilité.

public override FileFormat FileFormat { get; }

Valore di proprietà

FileFormat

Header

Rétablir ou modifier l’enregistrement de métaphiles EMF avec cette propriété.Gérer les données métaphiles efficacement dans votre application. Améliorer votre flux de travailavec un accès simplifié à l’information du titre métaphile.

public EmfMetafileHeader Header { get; set; }

Valore di proprietà

EmfMetafileHeader

La hauteur

Retrouvez la hauteur de l’image, facilitant les ajustements de rendement et de layout précis.L’accès à la propriété de hauteur assure la compatibilité et l’intégration sans fil à traversdifférentes plateformes et applications.

public override float HeightF { get; }

Valore di proprietà

float

IsCached

Accès à une valeur indiquant si les données de l’objet sont actuellement cachées,éliminer la nécessité de la lecture de données supplémentaires. améliorer l’efficacité pardéterminer si les données cachées sont disponibles pour un accès immédiat.flux de travail avec des processus de récupération de données simplifiés.

public override bool IsCached { get; }

Valore di proprietà

bool

Records

Retire ou modifier les enregistrements associés à l’objet.gérer la collecte des enregistrements pour améliorer la manipulation et le traitement des données.Optimisez votre flux de travail en interagissant sans cesse avec les enregistrements de l’objet.

public override MetaObjectList Records { get; set; }

Valore di proprietà

MetaObjectList

Vidéo

Accès à la largeur de l’image, fournissant des informations essentielles pour une précisionRender et traiter. récupérer rapidement la largeur de l’image pour assurer la compatibilitéet la mise en place appropriée dans diverses applications et plateformes.

public override float WidthF { get; }

Valore di proprietà

float

Methods

CacheData()

Cache efficacement les données et empêche le chargement redondant de la baseAspose.Imaging.DataStreamSupporter.Télécharger avec cette méthode.performance et accéder à des données dans votre application, optimiser les ressourcesUtilisation pour une meilleure réaction.

public override void CacheData()

Examples

Cet exemple montre comment télécharger une image EMF d’un fichier et la liste de tous ses enregistrements.

string dir = "c:\\temp\\";

                                                                                              // Using Aspose.Imaging.Image.Load is a unified way to load all types of images including WMF.
                                                                                              using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  emfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", emfImage.Records.Count);

                                                                                                  // The key is a record type, the value is number of records of that type in the WMF image.
                                                                                                  System.Collections.Generic.Dictionary<system.type, int=""> types =
                                                                                                      new System.Collections.Generic.Dictionary<system.type, int="">();

                                                                                                  // Gather statistics 
                                                                                                  foreach (Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRecord obj in emfImage.Records)
                                                                                                  {
                                                                                                      System.Type objType = obj.GetType();
                                                                                                      if (!types.ContainsKey(objType))
                                                                                                      {
                                                                                                          types.Add(objType, 1);
                                                                                                      }
                                                                                                      else
                                                                                                      {
                                                                                                          types[objType]++;
                                                                                                      }
                                                                                                  }

                                                                                                  // Print statistics
                                                                                                  System.Console.WriteLine("Record Type                              Count");
                                                                                                  System.Console.WriteLine("----------------------------------------------");
                                                                                                  foreach (System.Collections.Generic.KeyValuePair<system.type, int=""> entry in types)
                                                                                                  {
                                                                                                      string objectType = entry.Key.Name;
                                                                                                      string alignmentGap = new string(' ', 40 - objectType.Length);
                                                                                                      System.Console.WriteLine("{0}:{1}{2}", entry.Key.Name, alignmentGap, entry.Value);
                                                                                                  }
                                                                                              }

                                                                                              //The output may look like this:
                                                                                              //The total number of records: 1188
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //EmfMetafileHeader:                       1
                                                                                              //EmfSetBkMode:                            1
                                                                                              //EmfSetTextAlign:                         1
                                                                                              //EmfSetRop2:                              1
                                                                                              //EmfSetWorldTransform:                    1
                                                                                              //EmfExtSelectClipRgn:                     1
                                                                                              //EmfCreateBrushIndirect:                  113
                                                                                              //EmfSelectObject:                         240
                                                                                              //EmfCreatePen:                            116
                                                                                              //EmfSetPolyFillMode:                      1
                                                                                              //EmfBeginPath:                            120
                                                                                              //EmfMoveToEx:                             122
                                                                                              //EmfPolyBezierTo16:                       36
                                                                                              //EmfLineTo:                               172
                                                                                              //EmfCloseFigure:                          14
                                                                                              //EmfEndPath:                              120
                                                                                              //EmfStrokeAndFillPath:                    113
                                                                                              //EmfStrokePath:                           7
                                                                                              //EmfSetTextColor:                         2
                                                                                              //EmfExtCreateFontIndirectW:               2
                                                                                              //EmfExtTextOutW:                          2
                                                                                              //EmfStretchBlt:                           1
                                                                                              //EmfEof:                                  1</system.type,></system.type,></system.type,>

GetDefaultOptions(Objets[])

Retirez les options par défaut pour votre image sans effort. Avec cette fonctionnalité, vouspeut accéder rapidement aux configurations prédéterminées, assurant une intégration sans fil etperformance optimale pour vos projets. idéal pour rationaliser votre flux de travail etObtenir des résultats cohérents sur vos images.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Gli argomenti .

Returns

ImageOptionsBase

Opzioni di default

GetOriginalOptions()

Obtenez les options d’image originale.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Les options d’image originales.

GetUsedFonts()

Retrouvez la liste des phrases utilisées dans le métaphile avec cette méthode.des connaissances sur l’utilisation des fonctions, facilitant la gestion efficace et l’optimisation desressources pour améliorer la rendu et la fidélité de l’affichage.

public override string[] GetUsedFonts()

Returns

string [ ]

La liste des fonts

ResizeCanvas(Rectangle)

Récupérer les canvas avec facilité en utilisant cette fonction. parfait pour ajuster l’ensembleles dimensions de l’image sans modifier son contenu. améliorer la présentation etPréparer des images pour différentes tailles d’affichage sans effort.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Le nouveau rectangle.

SetPalette(Méditerranée, Bool)

Inserisci la paletta dell’immagine.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

La paletta da impostare.

updateColors bool

se impostati a colori ‘giuri’ verrà aggiornato in base alla nuova paletta; altrimenti gli indici di colore rimangono invariati. Nota che gli indici invariati possono crollare l’immagine sul carico se alcuni indici non hanno entrate di paletta corrispondenti.

Exceptions

NotImplementedException

 Français