Class WmfImage
Το όνομα: Aspose.Imaging.FileFormats.Wmf Συγκέντρωση: Aspose.Imaging.dll (25.4.0)
Διαχειριστείτε τις εικόνες του Microsoft Windows Metafile (WMF) με το API μαςεπεξεργασία τόσο των δεδομένων vector και bitmap που αποθηκεύονται μέσα σε αρχεία μεταβλητού μήκους.Ανακυκλώστε, περιστρέψτε και φλιπ εικόνες με ευκολία ενώ ρυθμίζετε προσαρμοσμένες παλέτες εικόνας.Μετατρέψτε τα αρχεία WMF σε συμπιεσμένες μορφές WMZ ή να τα αποθηκεύσετε σε μορφές εικόνας rasterγια ευρεία χρήση σε πλατφόρμες και εφαρμογές.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Κληρονομημένα μέλη
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
Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε εικόνες wmz σε wmf fromat
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});
}
Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε εικόνες wmf σε wmz fromat
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});
}
Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε μια συμπιεσμένη εικόνα (Η EMZ,.wmz, *.svgz) για το 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});
}
}
Αυτό το παράδειγμα δείχνει πώς να φορτώσετε μια εικόνα WMF από ένα αρχείο και να την μετατρέψετε σε SVG χρησιμοποιώντας 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()
Δημιουργήστε ένα νέο παράδειγμα της κατηγορίας Aspose.Imaging.FileFormats.Wmf.WmfImage, αρχικά τοπεραιτέρω χειραγώγηση και επεξεργασία των δεδομένων εικόνας του Windows Metafile (WMF).ο κατασκευαστής παρέχει ένα θεμελιώδες αντικείμενο για την εργασία με εικόνες WMF, επιτρέπονταςαδιάλειπτη ενσωμάτωση των δυνατοτήτων επεξεργασίας εικόνας του WMF στην εφαρμογή σαςλειτουργικότητα .
[JsonConstructor]
public WmfImage()
WmfImage(ΕΝΤ, ΕΝΤ)
Ξεκινήστε μια νέα παράσταση της κατηγορίας Aspose.Imaging.FileFormats.Wmf.WmfImage με προσαρμοσμένηπαραμέτρους πλάτους και ύψους, διευκολύνοντας τη δημιουργία λευκών εικόνων WMFπροσαρμοσμένη σε συγκεκριμένες διαστάσεις. Χρησιμοποιήστε αυτόν τον κατασκευαστή για να δημιουργήσετε δυναμικάWMF εικόνες με ακριβείς διαστάσεις, επιτρέποντας ευέλικτη δημιουργία εικόνας καιχειραγώγηση μέσα στην αίτησή σας.
public WmfImage(int width, int height)
Parameters
width
int
Το πλάτος .
height
int
Το ύψος.
Properties
BitsPerPixel
Αποκτήστε τον αριθμό bit ανά pixel για την εικόνα, υποδεικνύοντας το επίπεδο του χρώματοςβάθος ή οξύτητα. Χρησιμοποιήστε αυτή την ιδιότητα για να προσδιορίσετε το χρώμα της εικόναςεκπροσώπηση και ακρίβεια, διευκόλυνση των ελέγχων συμβατότητας και των σχετικών με το χρώμαεπεξεργασία εντός της αίτησής σας.
[JsonIgnore]
public override int BitsPerPixel { get; }
Αξία ιδιοκτησίας
Exceptions
FileFormat
Πρόσβαση στην τιμή μορφοποίησης αρχείου που σχετίζεται με την εικόνα, παρέχοντας πληροφορίεςσχετικά με τη μορφή στην οποία αποθηκεύεται η εικόνα. Χρησιμοποιήστε αυτήν την ιδιότητα για να καθορίσετετη μορφή αρχείου της εικόνας, διευκολύνοντας τις επιθεωρήσεις συμβατότητας καιΕπεξεργασία ειδικών μορφών εντός της εφαρμογής σας.
public override FileFormat FileFormat { get; }
Αξία ιδιοκτησίας
FrameBounds
Πρόσβαση στα όρια του πλαισίου, υποδεικνύοντας τη θέση και τις διαστάσεις του εντός τουΧρησιμοποιήστε αυτή την ιδιότητα για να λάβετε λεπτομερείς πληροφορίες σχετικά με το πλαίσιοδιαστημική τοποθεσία, επιτρέποντας ακριβή χειραγώγηση και rendering εντός της εφαρμογής σας.
public Rectangle FrameBounds { get; }
Αξία ιδιοκτησίας
Υψηλός
Πρόσβαση στο ύψος της εικόνας, αντιπροσωπεύοντας τον αριθμό των pixel κατά μήκος της κάθετηςΧρησιμοποιήστε αυτή την ιδιότητα για να προσδιορίσετε τις διαστημικές διαστάσεις και την εμφάνιση της εικόναςαναλογία, επιτρέποντας ακριβή διάταξη και εκτέλεση προσαρμογών εντός της εφαρμογής σας.
public override float HeightF { get; }
Αξία ιδιοκτησίας
Exceptions
Inch
Πρόσβαση ή τροποποίηση της ιδιοκτησίας ιντσών, αντιπροσωπεύοντας μια μονάδα μέτρησης συνήθωςχρησιμοποιείται για τον προσδιορισμό των φυσικών διαστάσεων στα πλαίσια εκτύπωσης ή προβολής.ιδιοκτησία για τον καθορισμό ή την ανάκτηση τιμών ιντσών που σχετίζονται με την εικόνα,διευκόλυνση της ακριβούς απεικόνισης των φυσικών διαστάσεων εντός της εφαρμογής σας.
public int Inch { get; set; }
Αξία ιδιοκτησίας
IsCached
Αποκτήστε μια τιμή boolean που υποδεικνύει εάν τα δεδομένα του αντικειμένου είναι επί του παρόντος κρυπτογραφημένα,εξάλειψη της ανάγκης για πρόσθετες εργασίες ανάγνωσης δεδομένων.για τη βελτιστοποίηση της απόδοσης, καθορίζοντας αν τα δεδομένα του αντικειμένου είναι εύκολα διαθέσιμαχωρίς την ανάγκη για δαπανηρές διαδικασίες ανάκτησης δεδομένων εντός της αίτησής σας.
public override bool IsCached { get; }
Αξία ιδιοκτησίας
Exceptions
ΓΕΝΤΦ
Πρόσβαση στο πλάτος της εικόνας, υποδεικνύοντας τον αριθμό των pixel κατά μήκος τηςΧρησιμοποιήστε αυτή την ιδιότητα για να προσδιορίσετε τις διαστημικές διαστάσεις της εικόναςκαι αναλογία πτυχίου, επιτρέποντας την ακριβή διάταξη και την εκτέλεση προσαρμογών μέσα στο δικό σαςΗ εφαρμογή.
public override float WidthF { get; }
Αξία ιδιοκτησίας
Exceptions
Methods
AddRecord(WmfObject)
Ενσωματώστε το συγκεκριμένο αντικείμενο καταγραφής στην εικόνα, εμπλουτίζοντας το περιεχόμενό του μεπρόσθετα δεδομένα ή μεταδεδομένα. Χρησιμοποιήστε αυτή τη μέθοδο για να ενσωματώσετε αδιάλειπτα τα αρχείααντικείμενα στην εικόνα, διευκολύνοντας την ολοκληρωμένη αποθήκευση δεδομένων και την οργάνωσημέσα στην αίτησή σας.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
Το ρεκόρ.
Returns
Ο αριθμός των ρεκόρ.
CacheData()
Αποτελεσματικά αποθηκεύουν τα δεδομένα, εξαλείφοντας την ανάγκη για πρόσθετη φόρτιση από τουποκείμενη Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Χρησιμοποιήστε αυτόμέθοδος βελτιστοποίησης της απόδοσης και ελαχιστοποίησης της χρήσης των πόρων εντός της εφαρμογής σαςΑποθήκευση και πρόσβαση στο τοπικό cache δεδομένων.
public override void CacheData()
Examples
Αυτό το παράδειγμα δείχνει πώς να φορτώσετε μια εικόνα WMF από ένα αρχείο και να καταγράψετε όλα τα αρχεία της.
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(αντικείμενο[])
Αποκαταστήστε τις προεπιλεγμένες επιλογές που σχετίζονται με την εικόνα, παρέχοντας πρόσβαση σεΠροεπιλεγμένες ρυθμίσεις ή ρυθμίσεις. Χρησιμοποιήστε αυτή τη μέθοδο για την πρόσβαση σε προεπιλεγμένηρυθμίσεις για τις εργασίες επεξεργασίας εικόνας, διευκολύνοντας τη συνοχή και την ευκολίαεντός της λειτουργικότητας της εφαρμογής σας.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
Τα επιχειρήματα .
Returns
Προεπιλεγμένες επιλογές
GetOriginalOptions()
Αποκτήστε τις αρχικές επιλογές εικόνας.
public override ImageOptionsBase GetOriginalOptions()
Returns
Οι αρχικές επιλογές εικόνας.
GetPostScript()
Πρόσβαση στα δεδομένα PostScript που σχετίζονται με την εικόνα, παρέχοντας λεπτομερείς πληροφορίεςπληροφορίες σχετικά με τη δομή ή το περιεχόμενό της. Χρησιμοποιήστε αυτή τη μέθοδο για ναΤα δεδομένα PostScript για περαιτέρω ανάλυση ή επεξεργασία εντός της εφαρμογής σας,να παρέχει προηγμένες λειτουργίες που σχετίζονται με την αναπαραγωγή ή τη χειραγώγηση PostScript.
public string GetPostScript()
Returns
Το post script
GetUsedFonts()
Ανακαλύψτε τη λίστα των γραμματοσειρών που χρησιμοποιούνται μέσα στο μεταφίλ, παρέχοντας μια εικόνα για τοΧρησιμοποιήστε αυτή τη μέθοδο για να αναλύσετε τη χρήση γραμματοσειρώνκαι να εξασφαλιστεί η διαθεσιμότητα γραμματοσειρών για την παράδοση ή περαιτέρω επεξεργασία εντός της εφαρμογής σας.
public override string[] GetUsedFonts()
Returns
string [ ]
Η λίστα Font
ResizeCanvas(Rectangle)
Επανακαλύψτε την οροφή της εικόνας, προσαρμόζοντας τις διαστάσεις της ενώ διατηρώντας την εικόναΧρησιμοποιήστε αυτή τη μέθοδο για να αλλάξετε το μέγεθος του καναπέ χωρίς να αλλάξετε το μέγεθος τουπεριεχόμενο, διευκολύνοντας τις προσαρμογές διάταξης και τις αλλαγές σύνθεσης εντός τουΗ εφαρμογή.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Η νέα ορθόδοξη.
Exceptions
SetPalette(Πλατφόρμα, Bool)
Εφαρμόστε μια καθορισμένη παλέτα στην εικόνα, επιτρέποντας την προσαρμογή του χρώματοςΧρησιμοποιήστε αυτή τη μέθοδο για να βελτιώσετε την οπτική απεικόνιση καισυγκεκριμένες επιδράσεις χρώματος εντός της εφαρμογής σας.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Η παλέτα να καθοριστεί.
updateColors
bool
αν ρυθμιστεί σε “πραγματικά” χρώματα θα ενημερωθεί σύμφωνα με τη νέα παλέτα. αλλιώς οι δείκτες χρωμάτων παραμένουν αμετάβλητοι. σημειώστε ότι οι αμετάβλητοι δείκτες μπορεί να σπάσει την εικόνα στο φορτίο εάν ορισμένοι δείκτες έχουν μη αντίστοιχες εισαγωγές παλέτας.