Class WmfImage
Nazwa przestrzeń: Aspose.Imaging.FileFormats.Wmf Zgromadzenie: Aspose.Imaging.dll (25.4.0)
Manipulacja obrazów Microsoft Windows Metafile (WMF) z naszą API, bezprzewodowoprzetwarzanie zarówno danych wektorowych, jak i bitmapowych przechowywanych w rejestrach o zmiennej długości.Odśwież, obróć i flip obrazy z łatwością podczas ustawienia dostosowanych palet obrazu.Konwertuj pliki WMF do formatów kompresowanych lub przechowuj je w formach obrazów rasterowychdo wszechstronnego użytkowania na platformach i aplikacjach.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Dziedziczeni członkowie
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
Poniższy przykład pokazuje, jak przekonwertować wmz obrazy do odtwarzania Wmf
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});
}
Poniższy przykład pokazuje, jak przekonwertować obrazy wmf do odtwarzania Wmz
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});
}
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 WMF z pliku i przekonwertować go do SVG za pomocą opcji 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()
Tworzenie nowej instancji klasy Aspose.Imaging.FileFormats.Wmf.WiMfImage, inicjalizując ją dodalsza manipulacja i przetwarzanie danych obrazowych Windows Metafile (WMF).konstruktor zapewnia podstawowy obiekt do pracy z obrazami WMF, umożliwiającBezwzględna integracja zdolności obsługi obrazu WMF w aplikacjii funkcjonalności .
[JsonConstructor]
public WmfImage()
WmfImage(i int, int)
Zainstaluj nową instancję klasy Aspose.Imaging.FileFormats.Wmf.szerokość i wysokość parametrów, ułatwiając tworzenie białe obrazy WMFDostosowany do określonych wymiarów.Użyj tego konstruktora do dynamicznego generowaniaWMF obrazy z precyzyjnymi wymiarami, umożliwiając elastyczne tworzenie obrazów iManipulacja w Twojej aplikacji.
public WmfImage(int width, int height)
Parameters
width
int
i szerokości .
height
int
i wysokość .
Properties
BitsPerPixel
Pobierz liczbę bitów na piksel dla obrazu, wskazując poziom kolorugłębokość lub granularność. Użyj tej właściwości, aby określić kolor obrazureprezentowanie i precyzja, ułatwiając sprawdzenie zgodności i kolorowePrzetwarzanie w ramach Twojej aplikacji.
[JsonIgnore]
public override int BitsPerPixel { get; }
Wartość nieruchomości
Exceptions
FileFormat
Dostęp do wartości formatu pliku powiązanego z obrazem, dostarczając informacjio formacie, w którym obraz jest przechowywany.Użyj tej właściwości, aby określićformat pliku obrazu, ułatwiając sprawdzenie zgodności iPrzetwarzanie formatu w Twojej aplikacji.
public override FileFormat FileFormat { get; }
Wartość nieruchomości
FrameBounds
Dostęp do granic ramy, wskazując jej położenie i wymiary wWykorzystaj tę nieruchomość, aby uzyskać szczegółowe informacje na temat ramlokalizacja przestrzenna, umożliwiając dokładną manipulację i renderowanie w Twojej aplikacji.
public Rectangle FrameBounds { get; }
Wartość nieruchomości
WysokośćF
Dostęp do wysokości obrazu, reprezentując liczbę pikseli wzdłuż jego pionowejAxis.Użyj tej właściwości, aby ustalić rozmiary przestrzenne i aspekt obrazuratio, umożliwiając dokładne rozmieszczenie i dokonanie dostosowania w ramach aplikacji.
public override float HeightF { get; }
Wartość nieruchomości
Exceptions
Inch
Dostęp lub modyfikacja właściwości cala, reprezentując jednostkę pomiarową typowoWykorzystywane do określenia fizycznych wymiarów w kontekście drukowania lub wyświetlania.majątku do ustalenia lub odzyskania wartości cala powiązanych z obrazem,ułatwianie dokładnej reprezentacji wymiarów fizycznych w Twojej aplikacji.
public int Inch { get; set; }
Wartość nieruchomości
IsCached
Odzyskanie wartości boolean wskazującej, czy dane obiektu są obecnie przechowywane,eliminowanie potrzeby dalszych operacji czytania danych.Użyj tej nieruchomoścido optymalizacji wydajności poprzez ustalenie, czy dane obiektów są łatwo dostępnebez konieczności kosztownych procesów odzyskiwania danych w Twojej aplikacji.
public override bool IsCached { get; }
Wartość nieruchomości
Exceptions
WidthF
Dostęp do szerokości obrazu, wskazując liczbę pikseli wzdłuż jegoosi horyzontalnej.Użyj tej właściwości, aby określić rozmiary przestrzenne obrazui stosunek aspektu, umożliwiając dokładne rozmieszczenie i dokonanie dostosowania w Twoimw aplikacji .
public override float WidthF { get; }
Wartość nieruchomości
Exceptions
Methods
AddRecord(WmfObject)
Włącz określony obiekt rejestracyjny do obrazu, wzbogacając jego zawartośćdodatkowe dane lub metadane.Użyj tej metody, aby bezprzewodowo zintegrować rekordyobiektów w obrazie, ułatwiając kompleksowe przechowywanie i organizację danychw ramach Twojego wniosku.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
z rekordem .
Returns
Ilość rekordów.
CacheData()
Efektywnie przechowywać dane, eliminując potrzebę dodatkowego ładowania zpodtytuł Aspose.Imaging.DataStreamSupporter.PrzekierowanoMetoda optymalizacji wydajności i minimalizacji wykorzystania zasobów w Twojej aplikacjiprzechowywanie i dostęp do lokalnej cache danych.
public override void CacheData()
Examples
Ten przykład pokazuje, jak pobrać obraz WMF 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.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(Obiekt[])
Usuń opcje domyślne powiązane z obrazem, zapewniając dostęp dowstępnie zdefiniowane ustawienia lub konfiguracje. użyj tej metody, aby uzyskać dostęp domyślnieustawienia operacji przetwarzania obrazu, ułatwiające spójność i wygodęw ramach funkcjonalności aplikacji.
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.
GetPostScript()
Dostęp do danych PostScript powiązanych z obrazem, zapewniając szczegółowe informacjeinformacje o jego strukturze lub zawartości. użyj tej metody, aby uzyskaćDane PostScript do dalszej analizy lub przetwarzania w Twojej aplikacji,umożliwienie zaawansowanej funkcjonalności związanej z renderowaniem lub manipulacją PostScript.
public string GetPostScript()
Returns
Post Scenariusz
GetUsedFonts()
Przywróć listę używanych czcionek w metafizie, zapewniając wgląd wzasoby czcionki wykorzystywane w obrazie.Użyj tej metody do analizy używania fontówi zapewnienie dostępności czcionek do renderowania lub dalszego przetwarzania w ramach aplikacji.
public override string[] GetUsedFonts()
Returns
string [ ]
Lista fontów
ResizeCanvas(Rectangle)
Odśwież przewód obrazu, dostosowując jego wymiary przy jednoczesnym utrzymaniu obrazówUżyj tej metody, aby zmienić rozmiar kanałów bez zmianyzawartość, ułatwiając ustawienia układu i zmiany składowe w Twoimw aplikacji .
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Nowy rektangul.
Exceptions
SetPalette(IkolorPalette, Bool)
Zastosuj określony paletę do obrazu, umożliwiając dostosowanie koloruWykorzystaj tę metodę, aby poprawić renderowanie wizualne iSpecyficzne efekty kolorowe w Twojej aplikacji.
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.