Class EmfImage

Class EmfImage

nazivni prostor: Aspose.Imaging.FileFormats.Emf Sastav: Aspose.Imaging.dll (25.4.0)

API za poboljšani format metafila (EMF) podupiranje vektorskog formata slike jesveobuhvatni alat za obradu grafičkih slika u neovisnom uređajunačina dok čuvaju svoje izvorne svojstva. razvijen za održavanjeproporcije, dimenzije, boje i druge grafičke atribute, uključujućiPodrška za EMF Plus format i značajke za granične regije, rezanje kanvicai slike, rotacija, flipping, postavljanje slike palete, izvoz i uvozKontekst uređaja APS, kompresija i pretvaranje EMF-a u druge formate, osiguravajućisveobuhvatna manipulacija i bespomoćna integracija EMF slika kroz aplikacije.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

naslijeđeni članovi

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

Sljedeći primjer pokazuje kako pretvoriti emz slike u 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});
                                                                                }

Sljedeći primjer pokazuje kako pretvoriti emf slike u 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});
                                                                                }

Sljedeći primjer pokazuje kako pretvoriti komprimirane slike (u EMZ,.wmz, *.svgz) za raster odat

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

Ovaj primjer pokazuje kako preuzeti EMF sliku iz datoteke i pretvoriti ga u SVG pomoću 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()

Počnite raditi s slikama EMF-a inicijaliziranjem nove instanceAspose.Imaging.FileFormats.Emf. EmfImage razred. Idealan za brzo uključivanje EMF slike uVaši projekti su jednostavni i učinkoviti.

[JsonConstructor]
public EmfImage()

EmfImage(u, u)

Stvorite novu primjenu Aspose.Imaging.FileFormats.Emf. EmfImage razreda određivanjem širinei parametri visine. ovaj konstruktor pojednostavljuje proces inicijaliziranjaEMF slike s određenim dimenzijama, povećavajući učinkovitost vašeg razvojaU tijeku rada.

public EmfImage(int width, int height)

Parameters

width int

Širina je.

height int

Veličina je.

Properties

BitsPerPixel

Obnavljajte broj bit-po-pixel specifičan za raster slike, kao ovaj parametarne primjenjuje se na vektorske slike. brzo utvrditi dubinu piksela rasteraslike za preciznu analizu i manipulaciju, osiguravajući točnu obraduIstraživanje podataka o slikama.

public override int BitsPerPixel { get; }

Vrijednost nekretnina

int

Exceptions

NotImplementedException

Nevažeći za vektorske slike.

FileFormat

Pristup vrijednosti formata datoteke povezane s predmetom.format datoteke povezan s predmetom za usklađenu obradu iprovjere kompatibilnosti. pojednostaviti svoj radni tok povlačenjem formata datotekeInformacija je jednostavna.

public override FileFormat FileFormat { get; }

Vrijednost nekretnina

FileFormat

Header

Obnavljajte ili izmijenite EMF metafilski naslovni zapis s ovim vlasništvom.učinkovito upravljanje metafilskim podacima unutar vaše aplikacije. poboljšajte svoj radni tokUsklađen pristup metafilskim naslovnim informacijama.

public EmfMetafileHeader Header { get; set; }

Vrijednost nekretnina

EmfMetafileHeader

VeličinaF

Održavajte visinu slike, olakšavajući točne prilagodbe renderiranja i rasporeda.Pristup visokoj imovini osigurava kompatibilnost i bezbrižnu integraciju izmeđurazličite platforme i aplikacije.

public override float HeightF { get; }

Vrijednost nekretnina

float

IsCached

Pristup vrijednosti koja ukazuje na to je li podaci objekta trenutačno šifrirani,uklanjanje potrebe za dodatnim čitanjem podataka. poboljšati učinkovitost brzoodređivanje je li dostupni cache podaci za neposredan pristup.radni tok s usklađenim procesima povlačenja podataka.

public override bool IsCached { get; }

Vrijednost nekretnina

bool

Records

Povratak ili izmjena zapisa povezanih s predmetom. učinkovit pristup iupravljanje prikupljanjem evidencija za poboljšanje manipulacije i obrade podataka.Optimizirajte svoj radni protok neosjetljivom interakcijom s zapisima objekta.

public override MetaObjectList Records { get; set; }

Vrijednost nekretnina

MetaObjectList

Svijet F

Pristup širini slike, pružajući bitne informacije za točnuRendering i obrada. brzo povući širinu slike kako bi se osigurala kompatibilnosti odgovarajuće raspored u različitim aplikacijama i platformama.

public override float WidthF { get; }

Vrijednost nekretnina

float

Methods

CacheData()

Učinkovito sakrivanje podataka i sprečavanje redundantnog opterećenjaAspose.Imaging.DataStreamSupporter.Povratak s ovim metodom.učinkovitost i brz pristup podacima u vašoj aplikaciji, optimizacija resursaKorištenje za poboljšanje odgovornosti.

public override void CacheData()

Examples

Ovaj primjer pokazuje kako preuzeti EMF sliku iz datoteke i popisati sve njegove zapise.

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

Obnavljajte podrazumevane opcije za vašu sliku bez napora.može brzo pristupiti prednastavljenim konfiguracijama, osiguravajući bespomoćnu integraciju ioptimalne performanse za vaše projekte. idealno za usklađivanje vašeg radnog toka ipostizanje dosljednih rezultata preko vaših slika.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

i argumentima .

Returns

ImageOptionsBase

Podrazumevane opcije

GetOriginalOptions()

Pronađite originalne opcije slike.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opcije za originalnu sliku.

GetUsedFonts()

Obnavljajte popis fontova koji se koriste u metafiliji pomoću ove metode.uvod u upotrebu fontova, olakšavajući učinkovito upravljanje i optimizacijuresursi za poboljšanje renderiranja i pokazivanja vjernosti.

public override string[] GetUsedFonts()

Returns

string []

Popis fontova

ResizeCanvas(Rectangle)

Jednostavno iskoristite ovu funkciju. savršeno za prilagodbu cjelokupnedimenzije slike bez izmjene njezinog sadržaja. poboljšanje prezentacije iPripremite slike za različite veličine zaslona bez napora.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Novi rektangul.

SetPalette(Sljedeći Članak IcolorPalette, bool)

Sastavite paletu slike.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Paleta za postavljanje.

updateColors bool

ako je postavljena na ‘pravedna’ boja će se ažurirati prema novoj paleti; inače boja indeksi ostaju nepromijenjeni.

Exceptions

NotImplementedException

 Hrvatski