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
Exceptions
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
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
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
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
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
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
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
Podrazumevane opcije
GetOriginalOptions()
Pronađite originalne opcije slike.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.