Class EmfImage
Navne til: Aspose.Imaging.FileFormats.Emf Sammensætning: Aspose.Imaging.dll (25.4.0)
API for Enhanced Metafile Format (EMF) vektor billedformat support eret omfattende værktøj til behandling af grafiske billeder i en enhed uafhængigfor at opretholde sine oprindelige ejendomme. udviklet til at bevareproportioner, dimensioner, farver og andre grafiske egenskaber, det omfatterEMF Plus formatsstøtte og funktioner til græsningsregioner, residerende kanvasog billeder, rotering, flipping, indstilling af billedpaletter, eksport og importtil APS-enhedskontekst, komprimering og konvertering af EMF til andre formater, der sikrerVersatil manipulation og seamless integration af EMF-billeder over applikationer.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
De arvede medlemmer
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
Følgende eksempel viser, hvordan man konverterer en emz-billede til emf fraat
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});
}
Følgende eksempel viser, hvordan man konverterer en emf-billede til 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});
}
Følgende eksempel viser, hvordan man konverterer et komprimeret billede (af EMZ,.wmz, *.svgz) til raster fraat
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});
}
}
Dette eksempel viser, hvordan man lader et EMF-billede fra en fil og konverterer det til SVG ved hjælp af 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()
Start med at arbejde med EMF-billeder ved at initiere en ny instans afAspose.Imaging.FileFormats.Emf. EmfImage klasse. Ideel til hurtigt at indsætte EMF-billeder iDine projekter er nemme og effektive.
[JsonConstructor]
public EmfImage()
EmfImage(Det er int)
Skab en ny instans af Aspose.Imaging.FileFormats.Emf. EmfImage klasse ved at angive breddenog højdeparametrer. denne konstruktor forenkler processen med at initialisereEMF-billeder med specifikke dimensioner, der forbedrer effektiviteten af din udviklingArbejdsfløjen .
public EmfImage(int width, int height)
Parameters
width
int
Den bredde.
height
int
Den højde.
Properties
BitsPerPixel
Returnerer det bit-per-pixel-tælling, der er specifik til rasterbilleder, som denne parameterikke gælder for vektorbilleder. hurtigt opdage pixel dybden af rasterbilleder til nøjagtig analyse og manipulation, der sikrer korrekt håndteringaf billeddata.
public override int BitsPerPixel { get; }
Ejendomsværdi
Exceptions
Invalid til vektorbilleder.
FileFormat
Få adgang til værdien af filformatet, der er forbundet med objektet.filformatet, der er forbundet med objektet for stram behandling ogkompatibilitetskontrol. forenkle dit arbejdsproces ved at hente filformatetOplysningerne er nemme.
public override FileFormat FileFormat { get; }
Ejendomsværdi
Header
Gendanne eller ændre EMF metafile headerregistret med denne ejendom.håndtere metafildata effektivt inden for din ansøgning. forbedre dit arbejdsprocesTilgængelighed af metafysiske headeroplysninger.
public EmfMetafileHeader Header { get; set; }
Ejendomsværdi
Højf
Retrækker billedets højde, hvilket gør det lettere at foretage præcise renderinger og layoutjusteringer.Tilgang til højde ejendommen sikrer kompatibilitet og sømløs integration tværsforskellige platforme og applikationer.
public override float HeightF { get; }
Ejendomsværdi
IsCached
adgang til en værdi, der angiver, om objektets data i øjeblikket er cachet,afskaffelse af behovet for yderligere data læsning. øge effektiviteten ved hurtigtat bestemme, om cachede data er tilgængelige for øjeblikkelig adgang.Arbejdsflydelse med strammede dataoptagelsesprocesser.
public override bool IsCached { get; }
Ejendomsværdi
Records
Gennemføre eller ændre de dokumenter, der er forbundet med objektet.administrere indsamlingen af optegnelser til forbedret datahåndtering og behandling.Optimer din arbejdsproces ved at interagere forsigtigt med objektets optegnelser.
public override MetaObjectList Records { get; set; }
Ejendomsværdi
af widthf
Tilgængelighed til billedets bredde, der giver væsentlige oplysninger for præcisitetrendering og bearbejdning. hurtigt genvinde billedets bredde for at sikre kompatibilitetog korrekt layout inden for forskellige applikationer og platforme.
public override float WidthF { get; }
Ejendomsværdi
Methods
CacheData()
Effektivt cache data og forhindre redundant opladning fra underliggendeAspose.Imaging.DataStreamSupporter.data StreamContainer med denne metode.ydeevne og stram adgang til data i din ansøgning, optimering af ressourcerBrug til forbedret respons.
public override void CacheData()
Examples
Dette eksempel viser, hvordan man lader et EMF-billede fra en fil og liste alle dens optegnelser.
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[])
Returner de standardmuligheder for dit billede hårdt. med denne funktion, dukan hurtigt få adgang til de forudset konfigurationer, der sikrer sømløs integration ogoptimale ydeevne til dine projekter. ideel til at forenkle dit arbejdsproces ogAt opnå konsekvente resultater over dine billeder.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
og argumenterne.
Returns
Undtagelsesmuligheder
GetOriginalOptions()
Få de oprindelige billedmuligheder.
public override ImageOptionsBase GetOriginalOptions()
Returns
De originale billedmuligheder.
GetUsedFonts()
Returnerer listen over bogstaver, der anvendes i metafilen med denne metode.indsigt i fontanvendelse, der letter effektiv forvaltning og optimering af fontRessourcer til forbedret rendering og display loyalitet.
public override string[] GetUsedFonts()
Returns
string []
Den skriftlige liste
ResizeCanvas(Rectangle)
Gør kanvaserne nemt ved hjælp af denne funktion. Perfekt til at justere det samleded) dimensioner af billedet uden at ændre dens indhold. Bedre præsentation ogForbered billeder til forskellige skærmstørrelser hårdt.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Den nye rektangle.
SetPalette(Fællesskab, Bool)
Indsæt billedpaletten.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paletten skal indstilles.
updateColors
bool
Hvis du er indstillet til ’true’ farver vil blive opdateret i henhold til den nye palet; ellers farveindekser forbliver uændrede. bemærke, at uændrede indekser kan bryde billedet på opladning, hvis nogle indekser ikke har de tilsvarende palet indtægter.