Class EmfImage

Class EmfImage

ja nimityö: Aspose.Imaging.FileFormats.Emf Kokoelma: Aspose.Imaging.dll (25.4.0)

Korkeennetun metafiilimuodon (EMF) vektorin kuvanmuodon tukeminen onkattava työkalu graafisten kuvien käsittelyyn laitteesta riippumattaalkuperäiset ominaisuutensa säilyttämiseksi. kehitetään ylläpitämäänsuhteet, ulottuvuudet, värit ja muut graafiset ominaisuudet, se sisältääEMF Plus -formaatin tuki ja ominaisuudet viljelyalueille, kierrätyslevyilleja kuvia, kierrätys, flipping, asettaa kuvan paletteja, vienti ja tuontiAPS-laitteen kontekstiin, EMF:n tiivistämiseen ja muuntamiseen muihin muotoihin, varmistaamonipuolinen manipulointi ja EMF-kuvien ohut integrointi sovellusten kautta.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Perintöjäsenet

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

Seuraava esimerkki näyttää, miten muuntaa emz-kuva 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});
                                                                                }

Seuraava esimerkki näyttää, miten muuntaa emf-kuva 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});
                                                                                }

Seuraava esimerkki osoittaa, miten muunnetaan kompressoitu kuva (ja EMZ,.wmz, *.svgz) raster fromatille

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

Tämä esimerkki näyttää, miten ladata EMF-kuva tiedostosta ja muuntaa se SVG: lle EmfRasterizationOptionsin avulla.

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()

Aloita työskentely EMF-kuvien kanssa aloittamalla uusi esimerkkiAspose.Imaging.FileFormats.Emf. EmfImage luokka. Ihanteellinen EMF-kuvien nopeasti sisällyttämiseenhankkeet helposti ja tehokkaasti.

[JsonConstructor]
public EmfImage()

EmfImage(Sisä, sisä)

Luo uusi esimerkki Aspose.Imaging.FileFormats.Emf. EmfImage luokan määrittämällä leveysja korkeus parametrit. Tämä rakentaja yksinkertaistaa aloitusprosessiaEMF-kuvat, joilla on erityiset ulottuvuudet, parantavat kehityksen tehokkuuttatyövoiman virta.

public EmfImage(int width, int height)

Parameters

width int

Ja sen leveys.

height int

ja korkeuden.

Properties

BitsPerPixel

Palauta bit-per-pixelin lasku, joka on erityinen raster-kuviin, koska tämä parametriei sovelleta vektorimuotoihin. nopea tunnistaa pixelin syvyyskuvien tarkka analysointi ja manipulointi, varmistamalla tarkan käsittelynja kuvan tiedot.

public override int BitsPerPixel { get; }

Omistuksen arvo

int

Exceptions

NotImplementedException

Vaaralliset vektorimuodot.

FileFormat

Tutustu kohteeseen liittyvään tiedostoformaatin arvoon. Helppo määrittäätiedoston muodossa, joka liittyy objektiin sujuvaan käsittelyyn jayhteensopivuus tarkastuksia. yksinkertaistaa työnkulun palauttamalla tiedostomuototietoja helposti.

public override FileFormat FileFormat { get; }

Omistuksen arvo

FileFormat

Header

Palauta tai muokkaa EMF metafyylin otsikoita tällä ominaisuudella.metafyylitietojen hallinta tehokkaasti sovelluksessasi. parantaa työnkulkuaTiedot metafyylistä päällikkötietoa.

public EmfMetafileHeader Header { get; set; }

Omistuksen arvo

EmfMetafileHeader

korkeus

Palauta kuvan korkeus, mikä helpottaa tarkkaa renderointia ja järjestelyä.Korkeusominaisuuden saavuttaminen takaa yhteensopivuuden ja turvattoman integroinnineri alustoja ja sovelluksia.

public override float HeightF { get; }

Omistuksen arvo

float

IsCached

Pääsy arvoon, joka osoittaa, onko kohteen tiedot tällä hetkellä salattu,poistaa tarve lisätä tietojen lukemista. parantaa tehokkuutta nopeastimäärittää, onko tallennettuja tietoja käytettävissä välittömästi. optimoityönkulku nopeutetulla tietojen keräämisen prosessilla.

public override bool IsCached { get; }

Omistuksen arvo

bool

Records

palauttaa tai muokata kohteeseen liittyviä arkistoja. tehokkaasti jahallinnoi rekistereiden keräämistä parannettuun tietojen manipulointiin ja käsittelyyn.Optimoi työnkulun vuorovaikutuksella objektirekisterien kanssa.

public override MetaObjectList Records { get; set; }

Omistuksen arvo

MetaObjectList

Säätiö

Pääsy kuvan leveyteen, joka tarjoaa välttämättömiä tietoja tarkkaanrendering ja käsittely. nopea palauttaa kuvan leveys varmistaa yhteensopivuusja asianmukainen asetus eri sovelluksissa ja alustoissa.

public override float WidthF { get; }

Omistuksen arvo

float

Methods

CacheData()

tehokkaasti tallentaa tietoja ja estää redundantti kuormitus alakohdastaAspose.Imaging.DataStreamSupporter.Tämä menetelmä. parantaasuorituskyky ja sujuva tietojen saatavuus sovelluksessasi, resurssien optimointiKäyttö parantaa reaktiivisuutta.

public override void CacheData()

Examples

Tämä esimerkki näyttää, miten ladata EMF-kuva tiedostosta ja luetella kaikki sen arkistot.

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

Palauta kuvasi oletusarvoiset vaihtoehdot vaivattomasti. tämän ominaisuuden avulla voitvoi nopeasti käyttää etukäteen asennettuja konfiguraatioita, varmistaa turvattoman integroinnin jaoptimaalinen suorituskyky projektillesi. ihanteellinen työnkulun yksinkertaistamiseksi jasaavuttaa johdonmukaisia tuloksia kuvien kautta.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

ja argumentit .

Returns

ImageOptionsBase

Oletusvaihtoehtoja

GetOriginalOptions()

Saat alkuperäisen kuvan vaihtoehdon.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Alkuperäisen kuvan vaihtoehdot.

GetUsedFonts()

Palauta tämän menetelmän avulla metafyylissä käytettyjen kirjainten luettelo.tietoja fontin käytöstä, helpottaen tehokasta fonttien hallintaa ja optimointiaresursseja parantamaan renderointia ja näyttö uskollisuutta.

public override string[] GetUsedFonts()

Returns

string []

Fontin luettelo

ResizeCanvas(Rectangle)

Kierrätään laatikot helposti käyttämällä tätä toimintoa. Täydellinen kokoonpanoonkuvan ulottuvuudet muuttamatta sen sisältöä. parantaa esittelyä jaValmista kuvia eri näytön koot vaivattomasti.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Uuden rehtorin mukaan.

SetPalette(IkolorPalette ja Bool)

Aseta kuvan paletti.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Paletti on asetettu.

updateColors bool

jos “todellinen” väri päivitetään uuden paletin mukaan; muuten väriindeksit pysyvät muuttumattomina. Huomaa, että muuttumattomat indeksit voivat rikkoa kuvan latauksessa, jos joillakin indeksit eivät ole vastaavia paletin tuloksia.

Exceptions

NotImplementedException

 Suomi