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
Exceptions
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
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
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
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
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
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
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
Opcje domyślne
GetOriginalOptions()
Dostęp do oryginalnych opcji obrazu.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.