Class EmfImage

Class EmfImage

Το όνομα: Aspose.Imaging.FileFormats.Emf Συγκέντρωση: Aspose.Imaging.dll (25.4.0)

Το API για την ενισχυμένη μορφή Metafile (EMF) υποστηρίζει τη μορφή εικόνας vectorένα ολοκληρωμένο εργαλείο για την επεξεργασία γραφικών εικόνων σε μια ανεξάρτητη συσκευήδιατήρηση των αρχικών ιδιοτήτων τους. αναπτύχθηκε για τη διατήρησηαναλογίες, διαστάσεις, χρώματα και άλλα γραφικά χαρακτηριστικά, περιλαμβάνειEMF Plus μορφότυπο υποστήριξη και χαρακτηριστικά για τις περιοχές καλλιέργειας, αναζωογονητικές καμπύλεςκαι εικόνες, περιστρέφοντας, φλιπίζοντας, ρυθμίζοντας παλέτες εικόνας, εξάγοντας και εισάγονταςστο πλαίσιο συσκευής APS, συμπίεση και μετατροπή EMF σε άλλες μορφές, εξασφαλίζονταςευέλικτη χειραγώγηση και αδιάλειπτη ενσωμάτωση εικόνων EMF σε εφαρμογές.

[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Κληρονομημένα μέλη

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

Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε μια εικόνα emz σε 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});
                                                                                }

Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε μια εικόνα emf σε 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});
                                                                                }

Το παρακάτω παράδειγμα δείχνει πώς να μετατρέψετε μια συμπιεσμένη εικόνα (Η 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});
                                                                                                                    }
                                                                                                                }

Αυτό το παράδειγμα δείχνει πώς να φορτώσετε μια εικόνα EMF από ένα αρχείο και να την μετατρέψετε σε SVG χρησιμοποιώντας 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()

Ξεκινήστε την εργασία με εικόνες EMF με την έναρξη μιας νέας περιόδουAspose.Imaging.FileFormats.Emf.EmfImage κλάση. Ιδανικό για γρήγορη ενσωμάτωση εικόνων EMF σεΤα έργα σας με ευκολία και αποτελεσματικότητα.

[JsonConstructor]
public EmfImage()

EmfImage(ΕΝΤ, ΕΝΤ)

Δημιουργήστε μια νέα περίπτωση της κατηγορίας Aspose.Imaging.FileFormats.Emf.EmfImage καθορίζοντας το πλάτοςΑυτός ο κατασκευαστής απλοποιεί τη διαδικασία της έναρξηςEMF εικόνες με συγκεκριμένες διαστάσεις, βελτιώνοντας την αποτελεσματικότητα της ανάπτυξής σαςΗ ροή εργασίας.

public EmfImage(int width, int height)

Parameters

width int

Το πλάτος .

height int

Το ύψος.

Properties

BitsPerPixel

Αποκαταστήστε τον αριθμό bit-per-pixel που είναι συγκεκριμένο στις εικόνες raster, όπως αυτή η παράμετροςΔεν ισχύει για εικόνες vector. γρήγορα να προσδιορίσετε το βάθος του pixel του ράστερεικόνες για ακριβή ανάλυση και χειραγώγηση, διασφαλίζοντας την ακριβή χειρισμόαπό τα δεδομένα εικόνας.

public override int BitsPerPixel { get; }

Αξία ιδιοκτησίας

int

Exceptions

NotImplementedException

Δυνατότητα για εικόνες vector.

FileFormat

Πρόσβαση στην τιμή μορφοποίησης αρχείου που σχετίζεται με το αντικείμενο.μορφή του αρχείου που συνδέεται με το αντικείμενο για την ομαλή επεξεργασία καιΕλέγξτε τη συμβατότητα. απλοποιήστε τη ροή εργασίας σας ανακτώντας τη μορφή αρχείουπληροφορίες με ευκολία.

public override FileFormat FileFormat { get; }

Αξία ιδιοκτησίας

FileFormat

Header

Αποκαταστήστε ή τροποποιήστε το αρχείο κεφαλής μεταφιλής EMF με αυτή την ιδιότητα.διαχείριση των μεταφιλικών δεδομένων αποτελεσματικά μέσα στην εφαρμογή σας. βελτίωση της ροής εργασίας σαςΜε ευέλικτη πρόσβαση στις πληροφορίες του μεταφιλικού τίτλου.

public EmfMetafileHeader Header { get; set; }

Αξία ιδιοκτησίας

EmfMetafileHeader

Υψηλός

Αποκαταστήστε το ύψος της εικόνας, διευκολύνοντας την ακριβή απεικόνιση και τις ρυθμίσεις διάταξης.Η πρόσβαση στην ιδιοκτησία ύψους εξασφαλίζει συμβατότητα και αδιάβροχη ολοκλήρωση μεταξύδιαφορετικές πλατφόρμες και εφαρμογές.

public override float HeightF { get; }

Αξία ιδιοκτησίας

float

IsCached

Πρόσβαση σε μια τιμή που υποδεικνύει εάν τα δεδομένα του αντικειμένου είναι επί του παρόντος κρυμμένα,εξάλειψη της ανάγκης για πρόσθετη ανάγνωση δεδομένων. βελτίωση της αποτελεσματικότητας με γρήγορονα καθορίσει εάν τα δεδομένα κρυπτογράφησης είναι διαθέσιμα για άμεση πρόσβαση.ροή εργασίας με ευέλικτες διαδικασίες ανάκτησης δεδομένων.

public override bool IsCached { get; }

Αξία ιδιοκτησίας

bool

Records

Αποκαταστήστε ή τροποποιήστε τα αρχεία που σχετίζονται με το αντικείμενο.διαχείριση της συλλογής αρχείων για βελτιωμένη χειραγώγηση και επεξεργασία δεδομένων.Βελτιστοποιήστε τη ροή εργασίας σας αδιάλειπτα αλληλεπιδράοντας με τα αρχεία του αντικειμένου.

public override MetaObjectList Records { get; set; }

Αξία ιδιοκτησίας

MetaObjectList

ΓΕΝΤΦ

Πρόσβαση στο πλάτος της εικόνας, παρέχοντας βασικές πληροφορίες για την ακρίβειαRendering και επεξεργασία. γρήγορα ανακτήστε το πλάτος της εικόνας για να εξασφαλιστεί η συμβατότητακαι κατάλληλη διάταξη μέσα σε διάφορες εφαρμογές και πλατφόρμες.

public override float WidthF { get; }

Αξία ιδιοκτησίας

float

Methods

CacheData()

Αποτελεσματικά αποθηκεύουν τα δεδομένα και αποτρέπουν την ελαττωματική φόρτιση από το υποκείμενοAspose.Imaging.DataStreamSupporter.DataStreamContainer με αυτή τη μέθοδο.Αποτελεσματικότητα και απλοποίηση της πρόσβασης στα δεδομένα στην εφαρμογή σας, βελτιστοποίηση των πόρωνΧρησιμοποιείται για βελτιωμένη αντίδραση.

public override void CacheData()

Examples

Αυτό το παράδειγμα δείχνει πώς να φορτώσετε μια εικόνα EMF από ένα αρχείο και να καταγράψετε όλα τα αρχεία της.

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(αντικείμενο[])

Ανακτήστε τις προεπιλεγμένες επιλογές για την εικόνα σας χωρίς προσπάθεια.μπορεί να έχει γρήγορη πρόσβαση στις προεπιλεγμένες ρυθμίσεις, εξασφαλίζοντας την ασύρματη ολοκλήρωση καιβέλτιστη απόδοση για τα έργα σας. ιδανικό για την ευελιξία της ροής εργασίας σας καιΗ επίτευξη συνεκτικών αποτελεσμάτων σε όλες τις εικόνες σας.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Τα επιχειρήματα .

Returns

ImageOptionsBase

Προεπιλεγμένες επιλογές

GetOriginalOptions()

Αποκτήστε τις αρχικές επιλογές εικόνας.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Οι αρχικές επιλογές εικόνας.

GetUsedFonts()

Επιστρέψτε τη λίστα των γραμματοσειρών που χρησιμοποιούνται μέσα στο μεταφιλικό με αυτή τη μέθοδο.γνώσεις για τη χρήση γραμματοσειρών, διευκολύνοντας την αποτελεσματική διαχείριση και τη βελτιστοποίηση των γραμματοσειρώνπόροι για ενισχυμένη rendering και δείγμα πιστότητα.

public override string[] GetUsedFonts()

Returns

string [ ]

Η λίστα Font

ResizeCanvas(Rectangle)

Ανακατέψτε εύκολα τις καμπύλες χρησιμοποιώντας αυτή τη λειτουργία. ιδανικό για την προσαρμογή του συνολικούδιαστάσεις της εικόνας χωρίς να αλλάζει το περιεχόμενό της.Προετοιμάστε εικόνες για διάφορα μεγέθη προβολής χωρίς προσπάθεια.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Η νέα ορθόδοξη.

SetPalette(Πλατφόρμα, Bool)

Δημιουργήστε την παλέτα εικόνας.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Η παλέτα να καθοριστεί.

updateColors bool

εάν ρυθμιστεί σε “πραγματικά” χρώματα θα ενημερωθεί σύμφωνα με τη νέα παλέτα. διαφορετικά, οι δείκτες χρωμάτων παραμένουν αμετάβλητοι. σημειώστε ότι οι αμετάβλητοι δείκτες μπορεί να σπάσει την εικόνα στο φορτίο εάν ορισμένοι δείκτες δεν έχουν αντίστοιχες εισαγωγές παλέτας.

Exceptions

NotImplementedException

 Ελληνικά