Class WmfImage

Class WmfImage

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

Manipulera Microsoft Windows Metafile (WMF) bilder med vår APIHantera både vektor- och bitmappdata som lagras inom variabel-längdregistret.Återskapa, rotera och flip bilder enkelt medan du ställer in anpassade bildpaletter.Konvertera WMF-filer till komprimerade WMZ-format eller spara dem i rasterbildformatför mångsidig användning över plattformar och applikationer.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Arvsmedlemmar

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Följande exempel visar hur man konverterar en wmz bild till wmf frånat

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

Följande exempel visar hur man konverterar en wmf bild till wmz frånat

string file = "castle.wmf";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".wmz";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {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 du laddar upp en WMF-bild från en fil och konverterar den till SVG med hjälp av WmfRasterizationOptions.

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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                                                      {
                                                                                                                          Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

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

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

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

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

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

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

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

Constructors

WmfImage()

Skapa en ny instans av Aspose.Imaging.FileFormats.Wmf.WmfImage klass, initialisera den förytterligare manipulation och bearbetning av Windows Metafile (WMF) bilddata.konstruktor ger ett grundläggande objekt för att arbeta med WMF-bilder, möjliggörtrådlös integration av WMF-bildhanteringskapacitet i din applikationoch funktionaliteten.

[JsonConstructor]
public WmfImage()

WmfImage(int, int)

Instantera en ny instans av Aspose.Imaging.FileFormats.Wmf.WmfImage klass med anpassningsbarbredd och höjd parametrar, vilket underlättar skapandet av vita WMF-bilderanpassad till specifika dimensioner. Använd denna konstruktör för att dynamiskt genereraWMF-bilder med exakta dimensioner, vilket möjliggör flexibel bildskapande ochmanipulation inom din ansökan.

public WmfImage(int width, int height)

Parameters

width int

och bredden.

height int

och höjden.

Properties

BitsPerPixel

Hämta antalet bitar per pixel för bilden, vilket indikerar färgnivåndjup eller granularitet. Använd denna egenskap för att bestämma bildens färgrepresentation och precision, vilket underlättar kompatibilitetskontroller och färgrelateradebearbetning inom din ansökan.

[JsonIgnore]
public override int BitsPerPixel { get; }

Fastighetsvärde

int

Exceptions

NotImplementedException

FileFormat

Tillgång till filformatvärdet som är associerat med bilden, vilket ger informationom det format i vilket bilden lagras. Använd den här egenskapen för att bestämmafilformat av bilden, vilket underlättar kompatibilitetskontroller ochFormat-specifik behandling inom din ansökan.

public override FileFormat FileFormat { get; }

Fastighetsvärde

FileFormat

FrameBounds

Tillträde till ramens gränser, vilket indikerar dess position och dimensioner inomAnvänd den här egenskapen för att få detaljerad information om ramensrymdläge, vilket möjliggör noggrann manipulation och rendering inom din ansökan.

public Rectangle FrameBounds { get; }

Fastighetsvärde

Rectangle

höjdf

Tillträde till bildens höjd, vilket representerar antalet pixlar längs dess vertikalaaxis. Använd denna egenskap för att upptäcka bildens rumsliga dimensioner och aspektproportion, vilket gör det möjligt att korrekt layout och göra justeringar inom din applikation.

public override float HeightF { get; }

Fastighetsvärde

float

Exceptions

NotImplementedException

Inch

Tillgång eller ändring av inches egenskap, representerar en mätningsenhet typisktanvänds för att specificera fysiska dimensioner i tryck- eller displaykontexter.egendom för att fastställa eller återta inches värden som är associerade med bilden,för att underlätta exakt representation av fysiska dimensioner inom din ansökan.

public int Inch { get; set; }

Fastighetsvärde

int

IsCached

Återställa ett booleanvärde som anger om objektets data för närvarande är krypterade,eliminera behovet av ytterligare dataläsningsverksamhet. Använd denna egendomatt optimera prestanda genom att bestämma om objektets data är lättillgängligautan att det behövs kostsamma dataåtervinningsprocesser inom din ansökan.

public override bool IsCached { get; }

Fastighetsvärde

bool

Exceptions

NotImplementedException

Växjöf

Tillträde till bildens bredd, vilket indikerar antalet pixlar längs desshorisontell axel. Använd denna egenskap för att bestämma bildens rumsliga dimensioneroch aspektförhållande, vilket gör det möjligt att exakt layout och göra justeringar inom dintillämpning .

public override float WidthF { get; }

Fastighetsvärde

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Inkorporera det angivna inspelningsobjektet i bilden, berika dess innehåll medYtterligare data eller metadata. Använd denna metod för att helt enkelt integrera inspelningenobjekt i bilden, vilket underlättar omfattande datalagring och organisationinom din ansökan.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

och rekordet.

Returns

int

Antal av rekord.

CacheData()

Effektivt cache data, eliminerar behovet av ytterligare laddning frånunder Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Använd dettaMetod för att optimera prestanda och minimera resursanvändningen inom din ansökangenom att lagra och komma åt lokala data cache.

public override void CacheData()

Examples

Detta exempel visar hur du laddar upp en WMF-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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  wmfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", wmfImage.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.Wmf.Objects.WmfObject obj in wmfImage.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: 613
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //WmfSetBkMode:                            1
                                                                                              //WmfSetTextAlign:                         1
                                                                                              //WmfSetRop2:                              1
                                                                                              //WmfSetWindowOrg:                         1
                                                                                              //WmfSetWindowExt:                         1
                                                                                              //WmfCreateBrushInDirect:                  119
                                                                                              //WmfSelectObject:                         240
                                                                                              //WmfCreatePenInDirect:                    119
                                                                                              //WmfSetPolyFillMode:                      1
                                                                                              //WmfPolyPolygon:                          114
                                                                                              //WmfPolyLine:                             7
                                                                                              //WmfSetTextColor:                         2
                                                                                              //WmfCreateFontInDirect:                   2
                                                                                              //WmfExtTextOut:                           2
                                                                                              //WmfDibStrechBlt:                         1
                                                                                              //WmfEof:                                  1</system.type,></system.type,></system.type,>

Exceptions

NotImplementedException

GetDefaultOptions(Objektet[])

Återställa de standardalternativ som är förknippade med bilden, vilket ger tillgång tillfördefinierade inställningar eller konfigurationer. Använd denna metod för att komma åt standardinställningar för bildbehandling, vilket underlättar konsistens och bekvämlighetinom din applikations funktionalitet.

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.

GetPostScript()

Gå till PostScript-data som är kopplade till bilden, vilket ger detaljerad informationinformation om dess struktur eller innehåll. Använd denna metod för att fåPostScript-data för ytterligare analys eller bearbetning inom din ansökan,tillåta avancerad funktionalitet relaterad till PostScript rendering eller manipulation.

public string GetPostScript()

Returns

string

Post skriptet

GetUsedFonts()

Returnerar listan över bokstäver som används inom metafilen, vilket ger inblick ifontresurser som används i bilden. Använd denna metod för att analysera fontanvändningoch säkerställa att teckensnittet är tillgängligt för rendering eller vidare bearbetning inom din ansökan.

public override string[] GetUsedFonts()

Returns

string [ ]

Den här font listan

ResizeCanvas(Rectangle)

Återskapa bildens kanvas, justera dess dimensioner samtidigt som bilden bevarasAnvänd denna metod för att ändra storleken på kanvas utan att ändrainnehåll, vilket underlättar layoutjusteringar och kompositionförändringar inom dintillämpning .

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Den nya rektangeln.

Exceptions

NotImplementedException

SetPalette(IcolorPalette, Bool)

Applicera en specifik palett på bilden, vilket möjliggör anpassning av färgAnvänd denna metod för att förbättra visuell rendering ochsärskilda färgeffekter inom din applikation.

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ärgindexen förblir oförändrade. notera att oförändrade index kan krascha bilden på laddningen om vissa index har oförsvarande palettinsatser.

Exceptions

NotImplementedException

 Svenska