Class EmfImage
Namn på plats: Aspose.Imaging.FileFormats.Emf Församling: Aspose.Imaging.dll (25.4.0)
API för Förbättrad Metafilformat (EMF) vektorbildformat stöd ärett omfattande verktyg för bearbetning av grafiska bilder i en enhets oberoendesätt samtidigt bevara sina ursprungliga egenskaper. Utvecklad för att upprätthållaproportioner, dimensioner, färger och andra grafiska attribut, det inkluderarEMF Plus-formatstöd och funktioner för grävningsregioner, återvinning kanvasoch bilder, rotering, flipping, inställning av bildpaletter, export och importtill APS-enhetskontext, komprimering och konvertering av EMF till andra format,mångsidig manipulation och smidig integration av EMF-bilder över alla applikationer.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Arvsmedlemmar
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öljande exempel visar hur man konverterar en emz-bild till 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});
}
Följande exempel visar hur man konverterar en emf-bild till 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öljande exempel visar hur man konverterar en komprimerad bild (och EMZ,.wmz, *.svgz) till raster frånat
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});
}
}
Detta exempel visar hur man laddar en EMF-bild från en fil och konverterar den till SVG med 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()
Börja arbeta med EMF-bilder genom att initiera en ny instans avAspose.Imaging.FileFormats.Emf.EmfImage klass. Idealisk för att snabbt införliva EMF-bilder idina projekt med enkelhet och effektivitet.
[JsonConstructor]
public EmfImage()
EmfImage(int, int)
Skapa en ny instans av Aspose.Imaging.FileFormats.Emf.EmfImage klass genom att ange breddenoch höjd parametrar. denna konstruktor förenklar processen för initialiseringEMF-bilder med specifika dimensioner, vilket förbättrar effektiviteten i din utvecklingArbetsflöde .
public EmfImage(int width, int height)
Parameters
width
int
och bredden.
height
int
och höjden.
Properties
BitsPerPixel
Återställ bit-per-pixel räkning specifikt för rasterbilder, eftersom denna parameterinte tillämpas på vektorbilder. Snabbt upptäcka pixeldjupet av rasterbilder för noggrann analys och manipulation, för att säkerställa korrekt hanteringav bilddata.
public override int BitsPerPixel { get; }
Fastighetsvärde
Exceptions
Invalid för vektorbilder.
FileFormat
Få tillgång till värdet i filformat som är associerat med objektet.format av filen som är kopplad till objektet för strikt bearbetning ochkompatibilitetskontroller. Förenkla arbetsflödet genom att hämta filformatInformation med lätthet.
public override FileFormat FileFormat { get; }
Fastighetsvärde
Header
Återställa eller ändra EMF metafil header register med denna egenskap.hantera metafildata effektivt inom din ansökan. förbättra din arbetsflödemed snabb tillgång till metafilisk headerinformation.
public EmfMetafileHeader Header { get; set; }
Fastighetsvärde
höjdf
Återställa bildens höjd, vilket underlättar noggrann rendering och layoutjusteringar.Tillgång till höjden säkerställer kompatibilitet och trådlös integration mellanolika plattformar och applikationer.
public override float HeightF { get; }
Fastighetsvärde
IsCached
Tillgång till ett värde som anger om objektets data för närvarande är krypterade,eliminera behovet av ytterligare dataläsning. öka effektiviteten snabbtbestämma om cached data är tillgängliga för omedelbar åtkomst.arbetsflöde med snabba dataåtervinningsprocesser.
public override bool IsCached { get; }
Fastighetsvärde
Records
Återställa eller ändra de poster som är kopplade till objektet.hantera insamlingen av register för förbättrad datahantering och bearbetning.Optimera din arbetsflöde genom att sömlöst interagera med objektets register.
public override MetaObjectList Records { get; set; }
Fastighetsvärde
Växjöf
Tillgång till bildens bredd, vilket ger nödvändig information för exaktrendering och bearbetning. Snabbt hämta bildens bredd för att säkerställa kompatibilitetoch korrekt layout inom olika applikationer och plattformar.
public override float WidthF { get; }
Fastighetsvärde
Methods
CacheData()
Effektivt cache data och förhindra redundant laddning från underliggandeAspose.Imaging.DataStreamSupporter.DataStreamContainer med denna metod.prestanda och snabbare dataåtkomst i din applikation, optimering av resurserAnvändning för förbättrad respons.
public override void CacheData()
Examples
Detta exempel visar hur man laddar en EMF-bild från en fil och listar alla dess poster.
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(Objektet[])
Återställa standardalternativen för din bild utan ansträngning. med den här funktionen kan dukan snabbt få tillgång till de förinställda konfigurationerna, säkerställa trådlös integration ochoptimal prestanda för dina projekt. Idealisk för att effektivisera din arbetsflöde ochuppnå konsekventa resultat över dina bilder.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
och argumenten .
Returns
Standardalternativ
GetOriginalOptions()
Få de ursprungliga bildalternativen.
public override ImageOptionsBase GetOriginalOptions()
Returns
De ursprungliga bildalternativen.
GetUsedFonts()
Återställ listan över bokstäver som används inom metafilen med denna metod.insikter om fontanvändning, för att underlätta effektiv hantering och optimering av fontresurser för förbättrad rendering och visning av lojalitet.
public override string[] GetUsedFonts()
Returns
string [ ]
Den här font listan
ResizeCanvas(Rectangle)
Återskapa kanvasna enkelt med hjälp av denna funktion. Perfekt för att justera den övergripandedimensioner av bilden utan att ändra dess innehåll. Förbättra presentation ochförbereda bilder för olika displaystorlekar utan ansträngning.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Den nya rektangeln.
SetPalette(IcolorPalette, Bool)
Ställ in bildpaletten.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paletten att ställa in.
updateColors
bool
om du ställer in “true” färger kommer att uppdateras enligt den nya paletten; annars färgindex förblir oförändrade. notera att oförändrade index kan krascha bilden på laddningen om vissa index inte har motsvarande palettinsatser.