Class WmfImage
Namn på plats: Aspose.Imaging.FileFormats.Wmf Församling: Aspose.Imaging.dll (25.4.0)
Manipulera Microsoft Windows Metafile (WMF) bilder med vår APIHantera både vektor- och bitmappdata som lagras inom variabel-längdregistret.Återskapa, rotera och flip bilder enkelt medan du ställer in anpassade bildpaletter.Konvertera WMF-filer till komprimerade WMZ-format eller spara dem i rasterbildformatför mångsidig användning över plattformar och applikationer.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Arvsmedlemmar
MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Följande exempel visar hur man konverterar en wmz bild till wmf frånat
string file = "example.wmz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".wmf";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions});
}
Följande exempel visar hur man konverterar en wmf bild till wmz frånat
string file = "castle.wmf";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".wmz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {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 du laddar upp en WMF-bild från en fil och konverterar den till SVG med hjälp av WmfRasterizationOptions.
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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();
// Text will be converted to shapes.
saveOptions.TextAsShapes = true;
Aspose.Imaging.ImageOptions.WmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions();
// The background color of the drawing surface.
rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;
// The page size.
rasterizationOptions.PageSize = wmfImage.Size;
// If embedded emf exists, then render emf; otherwise render wmf.
rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Wmf.WmfRenderMode.Auto;
saveOptions.VectorRasterizationOptions = rasterizationOptions;
wmfImage.Save(dir + "test.output.svg", saveOptions);
}
Constructors
WmfImage()
Skapa en ny instans av Aspose.Imaging.FileFormats.Wmf.WmfImage klass, initialisera den förytterligare manipulation och bearbetning av Windows Metafile (WMF) bilddata.konstruktor ger ett grundläggande objekt för att arbeta med WMF-bilder, möjliggörtrådlös integration av WMF-bildhanteringskapacitet i din applikationoch funktionaliteten.
[JsonConstructor]
public WmfImage()
WmfImage(int, int)
Instantera en ny instans av Aspose.Imaging.FileFormats.Wmf.WmfImage klass med anpassningsbarbredd och höjd parametrar, vilket underlättar skapandet av vita WMF-bilderanpassad till specifika dimensioner. Använd denna konstruktör för att dynamiskt genereraWMF-bilder med exakta dimensioner, vilket möjliggör flexibel bildskapande ochmanipulation inom din ansökan.
public WmfImage(int width, int height)
Parameters
width
int
och bredden.
height
int
och höjden.
Properties
BitsPerPixel
Hämta antalet bitar per pixel för bilden, vilket indikerar färgnivåndjup eller granularitet. Använd denna egenskap för att bestämma bildens färgrepresentation och precision, vilket underlättar kompatibilitetskontroller och färgrelateradebearbetning inom din ansökan.
[JsonIgnore]
public override int BitsPerPixel { get; }
Fastighetsvärde
Exceptions
FileFormat
Tillgång till filformatvärdet som är associerat med bilden, vilket ger informationom det format i vilket bilden lagras. Använd den här egenskapen för att bestämmafilformat av bilden, vilket underlättar kompatibilitetskontroller ochFormat-specifik behandling inom din ansökan.
public override FileFormat FileFormat { get; }
Fastighetsvärde
FrameBounds
Tillträde till ramens gränser, vilket indikerar dess position och dimensioner inomAnvänd den här egenskapen för att få detaljerad information om ramensrymdläge, vilket möjliggör noggrann manipulation och rendering inom din ansökan.
public Rectangle FrameBounds { get; }
Fastighetsvärde
höjdf
Tillträde till bildens höjd, vilket representerar antalet pixlar längs dess vertikalaaxis. Använd denna egenskap för att upptäcka bildens rumsliga dimensioner och aspektproportion, vilket gör det möjligt att korrekt layout och göra justeringar inom din applikation.
public override float HeightF { get; }
Fastighetsvärde
Exceptions
Inch
Tillgång eller ändring av inches egenskap, representerar en mätningsenhet typisktanvänds för att specificera fysiska dimensioner i tryck- eller displaykontexter.egendom för att fastställa eller återta inches värden som är associerade med bilden,för att underlätta exakt representation av fysiska dimensioner inom din ansökan.
public int Inch { get; set; }
Fastighetsvärde
IsCached
Återställa ett booleanvärde som anger om objektets data för närvarande är krypterade,eliminera behovet av ytterligare dataläsningsverksamhet. Använd denna egendomatt optimera prestanda genom att bestämma om objektets data är lättillgängligautan att det behövs kostsamma dataåtervinningsprocesser inom din ansökan.
public override bool IsCached { get; }
Fastighetsvärde
Exceptions
Växjöf
Tillträde till bildens bredd, vilket indikerar antalet pixlar längs desshorisontell axel. Använd denna egenskap för att bestämma bildens rumsliga dimensioneroch aspektförhållande, vilket gör det möjligt att exakt layout och göra justeringar inom dintillämpning .
public override float WidthF { get; }
Fastighetsvärde
Exceptions
Methods
AddRecord(WmfObject)
Inkorporera det angivna inspelningsobjektet i bilden, berika dess innehåll medYtterligare data eller metadata. Använd denna metod för att helt enkelt integrera inspelningenobjekt i bilden, vilket underlättar omfattande datalagring och organisationinom din ansökan.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
och rekordet.
Returns
Antal av rekord.
CacheData()
Effektivt cache data, eliminerar behovet av ytterligare laddning frånunder Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Använd dettaMetod för att optimera prestanda och minimera resursanvändningen inom din ansökangenom att lagra och komma åt lokala data cache.
public override void CacheData()
Examples
Detta exempel visar hur du laddar upp en WMF-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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
// Cache data to load all records.
wmfImage.CacheData();
System.Console.WriteLine("The total number of records: {0}", wmfImage.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.Wmf.Objects.WmfObject obj in wmfImage.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: 613
//Record Type Count
//----------------------------------------------
//WmfSetBkMode: 1
//WmfSetTextAlign: 1
//WmfSetRop2: 1
//WmfSetWindowOrg: 1
//WmfSetWindowExt: 1
//WmfCreateBrushInDirect: 119
//WmfSelectObject: 240
//WmfCreatePenInDirect: 119
//WmfSetPolyFillMode: 1
//WmfPolyPolygon: 114
//WmfPolyLine: 7
//WmfSetTextColor: 2
//WmfCreateFontInDirect: 2
//WmfExtTextOut: 2
//WmfDibStrechBlt: 1
//WmfEof: 1</system.type,></system.type,></system.type,>
Exceptions
GetDefaultOptions(Objektet[])
Återställa de standardalternativ som är förknippade med bilden, vilket ger tillgång tillfördefinierade inställningar eller konfigurationer. Använd denna metod för att komma åt standardinställningar för bildbehandling, vilket underlättar konsistens och bekvämlighetinom din applikations funktionalitet.
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.
GetPostScript()
Gå till PostScript-data som är kopplade till bilden, vilket ger detaljerad informationinformation om dess struktur eller innehåll. Använd denna metod för att fåPostScript-data för ytterligare analys eller bearbetning inom din ansökan,tillåta avancerad funktionalitet relaterad till PostScript rendering eller manipulation.
public string GetPostScript()
Returns
Post skriptet
GetUsedFonts()
Returnerar listan över bokstäver som används inom metafilen, vilket ger inblick ifontresurser som används i bilden. Använd denna metod för att analysera fontanvändningoch säkerställa att teckensnittet är tillgängligt för rendering eller vidare bearbetning inom din ansökan.
public override string[] GetUsedFonts()
Returns
string [ ]
Den här font listan
ResizeCanvas(Rectangle)
Återskapa bildens kanvas, justera dess dimensioner samtidigt som bilden bevarasAnvänd denna metod för att ändra storleken på kanvas utan att ändrainnehåll, vilket underlättar layoutjusteringar och kompositionförändringar inom dintillämpning .
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Den nya rektangeln.
Exceptions
SetPalette(IcolorPalette, Bool)
Applicera en specifik palett på bilden, vilket möjliggör anpassning av färgAnvänd denna metod för att förbättra visuell rendering ochsärskilda färgeffekter inom din applikation.
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ärgindexen förblir oförändrade. notera att oförändrade index kan krascha bilden på laddningen om vissa index har oförsvarande palettinsatser.