Class EmfImage

Class EmfImage

Nazwa przestrzeń: Aspose.Imaging.FileFormats.Emf Zgromadzenie: Aspose.Imaging.dll (25.4.0)

API dla wzmocnionego formatu metafilu (EMF) wektorowy format obrazu obsługujewszechstronny narzędzie do przetwarzania obrazów graficznych w niezależnym urządzeniuw sposób zachowujący ich oryginalne właściwości. rozwinięty do utrzymaniaproporcje, wymiary, kolory i inne atrybuty graficzne, obejmująEMF Plus format wsparcia i funkcje dla obszarów gromadzenia, rezygnacji kanwi obrazy, obrotowania, flipping, ustawienia palet obrazu, eksportowania i importudo kontekstu urządzenia APS, kompresji i konwersji EMF do innych formatów, zapewniającwszechstronne manipulacje i bezprzewodowe integracje obrazów EMF w aplikacjach.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Dziedziczeni członkowie

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

Poniższy przykład pokazuje, jak konwertować obrazy emz do 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});
                                                                                }

Poniższy przykład pokazuje, jak konwertować obrazy emf do 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});
                                                                                }

Poniższy przykład pokazuje, jak konwertować kompresowane obrazy (i EMZ,.wmz, *.svgz) do raster odat

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});
                                                                                                                    }
                                                                                                                }

Ten przykład pokazuje, jak pobrać obraz EMF z pliku i przekonwertować go do SVG za pomocą opcji 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()

Zacznij pracować z obrazami EMF poprzez inicjalizację nowej instancjiAspose.Imaging.FileFormats.Emf. EmfImage klasy. Idealny do szybkiego włączenia obrazów EMF doTwoje projekty z łatwością i efektywnością.

[JsonConstructor]
public EmfImage()

EmfImage(i int, int)

Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Emf. EmfImage poprzez określenie szerokościi parametry wysokości. ten konstruktor ułatwia proces inicjalizacjiZdjęcia EMF o określonych wymiarach, zwiększając efektywność Twojego rozwojuPrzepływ pracy .

public EmfImage(int width, int height)

Parameters

width int

i szerokości .

height int

i wysokość .

Properties

BitsPerPixel

Odzyskuj liczbę bitów na piksele specyficzną dla obrazów rasterowych, ponieważ ten parametrnie stosuje się do obrazów wektorowych. szybko ustalić głębokość piksela rasteraobrazy do dokładnej analizy i manipulacji, zapewniając dokładną obsługęz danych obrazowych.

public override int BitsPerPixel { get; }

Wartość nieruchomości

int

Exceptions

NotImplementedException

Nieprawidłowe dla wektorowych obrazów.

FileFormat

Dostęp do wartości formatu pliku powiązanego z obiektem.format pliku powiązanego z obiektem do upraszczonego przetwarzania iPrzegląd zgodności. uproszcz swój przepływ pracy poprzez odzyskanie formatu plikuInformacje z łatwością.

public override FileFormat FileFormat { get; }

Wartość nieruchomości

FileFormat

Header

Odzyskiwanie lub modyfikacja nagłówka metafilowego EMF z tą własnością.skuteczne zarządzanie metafizą w Twojej aplikacji. poprawa przepływu pracyz upraszczonym dostępem do metafizycznych informacji o nagłówku.

public EmfMetafileHeader Header { get; set; }

Wartość nieruchomości

EmfMetafileHeader

WysokośćF

Odzyskuj wysokość obrazu, ułatwiając dokładne dostosowania renderowania i układu.Dostęp do właściwości wysokości zapewnia kompatybilność i bezprzewodową integrację międzyróżne platformy i aplikacje.

public override float HeightF { get; }

Wartość nieruchomości

float

IsCached

Dostęp do wartości wskazującej, czy dane obiektu są obecnie ukryte,eliminuje potrzebę dodatkowego czytania danych. zwiększa efektywność poprzez szybkieokreślając, czy dane cache są dostępne do natychmiastowego dostępu.przepływ pracy z uproszczonymi procesami odzyskiwania danych.

public override bool IsCached { get; }

Wartość nieruchomości

bool

Records

Odzyskiwanie lub modyfikacja zapisów związanych z obiektem. efektywny dostęp izarządzanie gromadzeniem rekordów w celu poprawy manipulacji i przetwarzania danych.Optymalizuj swój przepływ pracy poprzez bezprzewodową interakcję z rekordami obiektu.

public override MetaObjectList Records { get; set; }

Wartość nieruchomości

MetaObjectList

WidthF

Dostęp do szerokości obrazu, dostarczając niezbędnych informacji dla dokładnościrenderowanie i przetwarzanie. szybko odzyskać szerokość obrazu, aby zapewnić zgodnośći odpowiednie rozmieszczenie w różnych aplikacjach i platformach.

public override float WidthF { get; }

Wartość nieruchomości

float

Methods

CacheData()

Efektywnie przechowywać dane i zapobiegać redundantnym ładowaniom z podłożaAspose.Imaging.DataStreamSupporter.Przekaźnik danych za pomocą tej metody.wydajność i szybki dostęp do danych w aplikacji, optymalizacja zasobówWykorzystanie w celu poprawy reakcji.

public override void CacheData()

Examples

Ten przykład pokazuje, jak pobrać obraz EMF z pliku i wymienić wszystkie jego rekordy.

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(Obiekt[])

Odzyskać opcje domyślne dla obrazu bez wysiłku. z tą funkcją,możliwość szybkiego dostępu do konfiguracji wstępnych, zapewniając bezprzewodową integrację ioptymalna wydajność dla Twoich projektów. idealny do upraszczania przepływu pracy iOsiągnięcie konsekwentnych wyników w swoich obrazach.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

i argumentów .

Returns

ImageOptionsBase

Opcje domyślne

GetOriginalOptions()

Dostęp do oryginalnych opcji obrazu.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opcje oryginalnego obrazu.

GetUsedFonts()

Przywróć listę czcionek używanych w metafizce za pomocą tej metody.wgląd w użycie czcionki, ułatwiając efektywne zarządzanie i optymalizacjęzasoby zwiększonej renderowania i lojalności wyświetlania.

public override string[] GetUsedFonts()

Returns

string [ ]

Lista fontów

ResizeCanvas(Rectangle)

Łatwo odtworzyć kanały za pomocą tej funkcji. doskonały do dostosowania ogólnegowymiary obrazu bez zmiany jego zawartości. poprawa prezentacji iPrzygotuj obrazy dla różnych rozmiarów wyświetlacza bez wysiłku.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Nowy rektangul.

SetPalette(IkolorPalette, Bool)

Ustaw paletę obrazu.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Płytka do ustawienia.

updateColors bool

Jeśli ustawione na “prawdziwe” kolory zostaną zaktualizowane zgodnie z nową paletą; w przeciwnym razie indeksy kolorów pozostają niezmienione. zauważ, że niezmienione indeksy mogą zepsuć obraz na ładowaniu, jeśli niektóre indeksy nie mają odpowiednich wpisów palet.

Exceptions

NotImplementedException

 Polski