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
Exceptions
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
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
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
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
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
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
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
Oletusvaihtoehtoja
GetOriginalOptions()
Saat alkuperäisen kuvan vaihtoehdon.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.