Class EmfImage

Class EmfImage

Namn på plats: Aspose.Imaging.FileFormats.Emf Församling: Aspose.Imaging.dll (25.4.0)

API för Förbättrad Metafilformat (EMF) vektorbildformat stöd ärett omfattande verktyg för bearbetning av grafiska bilder i en enhets oberoendesätt samtidigt bevara sina ursprungliga egenskaper. Utvecklad för att upprätthållaproportioner, dimensioner, färger och andra grafiska attribut, det inkluderarEMF Plus-formatstöd och funktioner för grävningsregioner, återvinning kanvasoch bilder, rotering, flipping, inställning av bildpaletter, export och importtill APS-enhetskontext, komprimering och konvertering av EMF till andra format,mångsidig manipulation och smidig integration av EMF-bilder över alla applikationer.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Arvsmedlemmar

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

Följande exempel visar hur man konverterar en emz-bild till 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});
                                                                                }

Följande exempel visar hur man konverterar en emf-bild till 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});
                                                                                }

Följande exempel visar hur man konverterar en komprimerad bild (och EMZ,.wmz, *.svgz) till raster frånat

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});
                                                                                                                    }
                                                                                                                }

Detta exempel visar hur man laddar en EMF-bild från en fil och konverterar den till SVG med 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()

Börja arbeta med EMF-bilder genom att initiera en ny instans avAspose.Imaging.FileFormats.Emf.EmfImage klass. Idealisk för att snabbt införliva EMF-bilder idina projekt med enkelhet och effektivitet.

[JsonConstructor]
public EmfImage()

EmfImage(int, int)

Skapa en ny instans av Aspose.Imaging.FileFormats.Emf.EmfImage klass genom att ange breddenoch höjd parametrar. denna konstruktor förenklar processen för initialiseringEMF-bilder med specifika dimensioner, vilket förbättrar effektiviteten i din utvecklingArbetsflöde .

public EmfImage(int width, int height)

Parameters

width int

och bredden.

height int

och höjden.

Properties

BitsPerPixel

Återställ bit-per-pixel räkning specifikt för rasterbilder, eftersom denna parameterinte tillämpas på vektorbilder. Snabbt upptäcka pixeldjupet av rasterbilder för noggrann analys och manipulation, för att säkerställa korrekt hanteringav bilddata.

public override int BitsPerPixel { get; }

Fastighetsvärde

int

Exceptions

NotImplementedException

Invalid för vektorbilder.

FileFormat

Få tillgång till värdet i filformat som är associerat med objektet.format av filen som är kopplad till objektet för strikt bearbetning ochkompatibilitetskontroller. Förenkla arbetsflödet genom att hämta filformatInformation med lätthet.

public override FileFormat FileFormat { get; }

Fastighetsvärde

FileFormat

Header

Återställa eller ändra EMF metafil header register med denna egenskap.hantera metafildata effektivt inom din ansökan. förbättra din arbetsflödemed snabb tillgång till metafilisk headerinformation.

public EmfMetafileHeader Header { get; set; }

Fastighetsvärde

EmfMetafileHeader

höjdf

Återställa bildens höjd, vilket underlättar noggrann rendering och layoutjusteringar.Tillgång till höjden säkerställer kompatibilitet och trådlös integration mellanolika plattformar och applikationer.

public override float HeightF { get; }

Fastighetsvärde

float

IsCached

Tillgång till ett värde som anger om objektets data för närvarande är krypterade,eliminera behovet av ytterligare dataläsning. öka effektiviteten snabbtbestämma om cached data är tillgängliga för omedelbar åtkomst.arbetsflöde med snabba dataåtervinningsprocesser.

public override bool IsCached { get; }

Fastighetsvärde

bool

Records

Återställa eller ändra de poster som är kopplade till objektet.hantera insamlingen av register för förbättrad datahantering och bearbetning.Optimera din arbetsflöde genom att sömlöst interagera med objektets register.

public override MetaObjectList Records { get; set; }

Fastighetsvärde

MetaObjectList

Växjöf

Tillgång till bildens bredd, vilket ger nödvändig information för exaktrendering och bearbetning. Snabbt hämta bildens bredd för att säkerställa kompatibilitetoch korrekt layout inom olika applikationer och plattformar.

public override float WidthF { get; }

Fastighetsvärde

float

Methods

CacheData()

Effektivt cache data och förhindra redundant laddning från underliggandeAspose.Imaging.DataStreamSupporter.DataStreamContainer med denna metod.prestanda och snabbare dataåtkomst i din applikation, optimering av resurserAnvändning för förbättrad respons.

public override void CacheData()

Examples

Detta exempel visar hur man laddar en EMF-bild från en fil och listar alla dess poster.

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(Objektet[])

Återställa standardalternativen för din bild utan ansträngning. med den här funktionen kan dukan snabbt få tillgång till de förinställda konfigurationerna, säkerställa trådlös integration ochoptimal prestanda för dina projekt. Idealisk för att effektivisera din arbetsflöde ochuppnå konsekventa resultat över dina bilder.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

och argumenten .

Returns

ImageOptionsBase

Standardalternativ

GetOriginalOptions()

Få de ursprungliga bildalternativen.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

De ursprungliga bildalternativen.

GetUsedFonts()

Återställ listan över bokstäver som används inom metafilen med denna metod.insikter om fontanvändning, för att underlätta effektiv hantering och optimering av fontresurser för förbättrad rendering och visning av lojalitet.

public override string[] GetUsedFonts()

Returns

string [ ]

Den här font listan

ResizeCanvas(Rectangle)

Återskapa kanvasna enkelt med hjälp av denna funktion. Perfekt för att justera den övergripandedimensioner av bilden utan att ändra dess innehåll. Förbättra presentation ochförbereda bilder för olika displaystorlekar utan ansträngning.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Den nya rektangeln.

SetPalette(IcolorPalette, Bool)

Ställ in bildpaletten.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Paletten att ställa in.

updateColors bool

om du ställer in “true” färger kommer att uppdateras enligt den nya paletten; annars färgindex förblir oförändrade. notera att oförändrade index kan krascha bilden på laddningen om vissa index inte har motsvarande palettinsatser.

Exceptions

NotImplementedException

 Svenska