Class EmfImage
Numele spaţiului: Aspose.Imaging.FileFormats.Emf Asamblare: Aspose.Imaging.dll (25.4.0)
API pentru formatul îmbunătățit Metafile (EMF) suport pentru formatul de imagine vector esteun instrument cuprinzător pentru prelucrarea imaginilor grafice într-un dispozitiv independentîn timp ce păstrează proprietățile lor originale. dezvoltat pentru a mențineproporţii, dimensiuni, culori şi alte atributele grafice, aceasta includeEMF Plus suport format și caracteristici pentru regiunile de creștere, canvele de reîncărcareşi imagini, rotarea, flipping, setarea paletelor imaginii, exportarea şi importareaîn contextul dispozitivului APS, compresarea și conversia EMF în alte formate, asigurândmanipularea versatilă și integrarea fără fir a imaginilor EMF prin intermediul aplicațiilor.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Membrii moștenitori
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
Următorul exemplu arată cum să convertiți o imagine emz în 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});
}
Următorul exemplu arată cum să convertiți o imagine emf în 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});
}
Următorul exemplu arată cum să convertiți o imagine comprimată (în EMZ,.wmz, *.svgz) pentru raster fromat
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});
}
}
Acest exemplu arată cum să încărcați o imagine EMF dintr-un fișier și să o convertiți în SVG folosind 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()
Începeți să lucrați cu imagini EMF prin inițierea unei noi instante aAspose.Imaging.FileFormats.Emf. EmfImage clasă. ideal pentru a integra rapid imagini EMF înProiectele dvs. cu ușurință și eficiență.
[JsonConstructor]
public EmfImage()
EmfImage(int, int)
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.Emf. EmfImage prin specificarea lățimiiAcest constructor simplifică procesul de inițializareImagini EMF cu dimensiuni specifice, îmbunătățind eficiența dezvoltării dvs.fluxul de lucru.
public EmfImage(int width, int height)
Parameters
width
int
în lățime .
height
int
înălţime .
Properties
BitsPerPixel
Reduceți numărul de bit-per-pixel specific pentru imagini raster, deoarece acest parametrunu se aplică imaginilor vectori. Determinați rapid adâncimea pixelului rasteruluiimagini pentru analiză și manipulare precisă, asigurând manipularea corectădate de imagini.
public override int BitsPerPixel { get; }
Valoarea proprietății
Exceptions
Invalid pentru imagini vectoriale.
FileFormat
Acces la valoarea formatului de fișier asociată cu obiectul.formatul fișierului asociat cu obiectul de prelucrare simplificată șiVerificări de compatibilitate. simplificați fluxul de lucru prin recuperarea formatului de fișierinformaţii cu uşurinţă.
public override FileFormat FileFormat { get; }
Valoarea proprietății
Header
Recuperarea sau modificarea înregistrării titlurilor metafilice EMF cu această proprietate.Gestionarea eficientă a datelor metafilice în cadrul aplicației dvs. Îmbunătățește fluxul de lucrucu acces simplificat la informațiile de titlu metafilic.
public EmfMetafileHeader Header { get; set; }
Valoarea proprietății
înălţime
Returnați înălțimea imaginii, facilitând ajustările de renderare și de layout precise.Accesul la proprietatea de înălțime asigură compatibilitatea și integrarea fără fir întrediferite platforme și aplicații.
public override float HeightF { get; }
Valoarea proprietății
IsCached
Accesul la o valoare care indică dacă datele obiectului sunt în prezent cache,eliminarea necesității de citire suplimentară a datelor. îmbunătățirea eficienței prindeterminarea dacă datele cache sunt disponibile pentru acces imediat.fluxul de lucru cu procese simplificate de recuperare a datelor.
public override bool IsCached { get; }
Valoarea proprietății
Records
Recuperarea sau modificarea înregistrărilor asociate cu obiectul. acces eficient șigestionarea colectării înregistrărilor pentru manipularea și prelucrarea îmbunătățită a datelor.Optimizați fluxul de lucru prin interacțiunea fără probleme cu înregistrările obiectului.
public override MetaObjectList Records { get; set; }
Valoarea proprietății
Răspundeți
Acces la lățimea imaginii, furnizând informații esențiale pentru precizieRenderarea și prelucrarea. retrage rapid lățimea imaginii pentru a asigura compatibilitateași layout corespunzător în cadrul diferitelor aplicații și platforme.
public override float WidthF { get; }
Valoarea proprietății
Methods
CacheData()
Cachează în mod eficient datele și împiedică încărcarea redundantă din elementele de bazăAspose.Imaging.DataStreamSupporter.Container de date cu această metodă.Performanța și accesul rapid la date în aplicația dvs., optimizarea resurselorutilizare pentru a îmbunătăți rezistența.
public override void CacheData()
Examples
Acest exemplu arată cum să încărcați o imagine EMF dintr-un fișier și să listați toate înregistrările sale.
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(Obiectul[])
Returnați opțiunile de preferință pentru imaginea dvs. fără efort. cu această caracteristică, putețipoate accesa rapid configurațiile pre-set, asigurând integrarea fără fir șiperformanță optimă pentru proiectele dvs. Ideal pentru simplificarea fluxului de lucru șiObținerea unor rezultate coerente pe imagini.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Argumentele sunt.
Returns
Opțiuni deficitare
GetOriginalOptions()
Obțineți opțiunile de imagine originale.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opțiunile de imagine originale.
GetUsedFonts()
Returnați lista de fonturi utilizate în metafiză cu această metodă.înțelegerea utilizării fontului, facilitând gestionarea eficientă și optimizarea fonturilorresurse pentru a îmbunătăți renderarea și fidelitatea afișării.
public override string[] GetUsedFonts()
Returns
string []
Lista fonturilor
ResizeCanvas(Rectangle)
Reîncărcați cu ușurință canapele folosind această funcție. Perfect pentru ajustarea generalădimensiunile imaginii fără a modifica conținutul acesteia. îmbunătățirea prezentării șiPregătiți imagini pentru diferite dimensiuni de afișare fără efort.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Noul rectanglu.
SetPalette(Cuvânt cheie, bool)
Puneți paleta de imagine.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta care trebuie stabilită.
updateColors
bool
în cazul în care este setat la culori “reale” va fi actualizat în funcție de noua paletă; în caz contrar, indicele de culoare rămân inalterate.