Class WmfImage

Class WmfImage

Nama dari : Aspose.Imaging.FileFormats.Wmf Pengumpulan: Aspose.Imaging.dll (25.4.0)

Memanipulasi Microsoft Windows Metafile (WMF) gambar dengan API kamiMengendalikan data vektor dan bitmap yang disimpan dalam rekaman panjang variabel.Resize, rotate, dan flip gambar dengan mudah sambil menetapkan palet gambar tersuai.Konversi file WMF ke format WMZ yang dikompresi atau menyimpannya dalam format gambar rasterUntuk penggunaan yang beragam di seluruh platform dan aplikasi.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

anggota yang diwarisi

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

Contoh berikut menunjukkan cara mengkonversi gambar wmz ke wmf dariat

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

Contoh berikut menunjukkan cara mengkonversi gambar wmf ke 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});
                                                                                }

Contoh berikut menunjukkan bagaimana untuk menukar gambar yang dikompresi (dengan EMZ,.wmz, *.svgz) untuk raster dariat

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

Contoh ini menunjukkan cara memuat gambar WMF dari file dan mengkonversi ke SVG menggunakan 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()

Buat contoh baru dari kelas Aspose.Imaging.FileFormats.Wmf.WmfImage, memulai untukmanipulasi lebih lanjut dan pemrosesan data gambar Windows Metafile (WMF).konstruktor menyediakan objek dasar untuk bekerja dengan gambar WMF, memungkinkanMengintegrasikan kemampuan pemrosesan gambar WMF ke dalam aplikasi AndaFungsi yang

[JsonConstructor]
public WmfImage()

WmfImage(dengan int, int)

Instanti sebuah instansi baru dari Aspose.Imaging.FileFormats.Wmf.WmfImage kelas dengan Customizableparameter lebar dan ketinggian, memfasilitasi penciptaan gambar WMF putihdisesuaikan dengan dimensi tertentu. Gunakan konstruktor ini untuk secara dinamis menghasilkanGambar WMF dengan dimensi yang akurat, memungkinkan pembuatan gambar yang fleksibel danmanipulasi dalam aplikasi Anda.

public WmfImage(int width, int height)

Parameters

width int

dengan luasnya.

height int

ketinggian yang

Properties

BitsPerPixel

Mengurangi bilangan bit per piksel untuk gambar, menunjukkan tingkat warnaMenggunakan sifat ini untuk menentukan warna gambarperwakilan dan ketepatan, memfasilitasi pemeriksaan kompatibilitas dan warna-warnipemrosesan dalam aplikasi Anda.

[JsonIgnore]
public override int BitsPerPixel { get; }

Nilai Properti

int

Exceptions

NotImplementedException

FileFormat

Mengakses nilai format file yang terkait dengan gambar, memberikan informasitentang format di mana gambar disimpan. Gunakan properti ini untuk menentukanformat file dari gambar, memfasilitasi pemeriksaan kompatibilitas danPemrosesan spesifik format dalam aplikasi Anda.

public override FileFormat FileFormat { get; }

Nilai Properti

FileFormat

FrameBounds

Akses ke batas-batas bingkai, menunjukkan posisi dan dimensi di dalamGunakan properti ini untuk mendapatkan informasi terperinci tentang bingkaiLokasi ruang, memungkinkan manipulasi dan rendering yang akurat di dalam aplikasi Anda.

public Rectangle FrameBounds { get; }

Nilai Properti

Rectangle

Tingkat F

Akses ke ketinggian gambar, mewakili jumlah piksel di sepanjang vertikalnyaGunakan sifat ini untuk menentukan dimensi ruang dan aspek gambarproporsi, memungkinkan tataletak yang tepat dan membuat penyesuaian dalam aplikasi Anda.

public override float HeightF { get; }

Nilai Properti

float

Exceptions

NotImplementedException

Inch

Akses atau modifikasi sifat inci, mewakili unit pengukuran biasanyadigunakan untuk menentukan dimensi fisik dalam konteks cetak atau paparan.sifat untuk menetapkan atau menarik nilai inci yang terkait dengan gambar,memfasilitasi representasi yang tepat dari dimensi fisik dalam aplikasi Anda.

public int Inch { get; set; }

Nilai Properti

int

IsCached

Memulihkan nilai boolean yang menunjukkan apakah data objek saat ini tersembunyi,menghapus kebutuhan untuk operasi membaca data tambahan.Menggunakan properti iniuntuk mengoptimalkan kinerja dengan menentukan apakah data objek tersedia dengan mudahTanpa kebutuhan untuk proses pengumpulan data yang mahal di dalam aplikasi Anda.

public override bool IsCached { get; }

Nilai Properti

bool

Exceptions

NotImplementedException

WidthF

Akses ke lebar gambar, menunjukkan jumlah piksel di sepanjangmenggunakan sifat ini untuk menentukan dimensi ruang gambardan proporsi aspek, memungkinkan tataletak yang tepat dan membuat penyesuaian di dalamuntuk aplikasi.

public override float WidthF { get; }

Nilai Properti

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Mengintegrasikan objek rekaman yang ditentukan ke dalam gambar, memperkaya kontennya denganData tambahan atau metadata.Menggunakan metode ini untuk mengintegrasikan rekaman secara tidak sengajaobjek ke dalam gambar, memfasilitasi penyimpanan data yang komprehensif dan organisasidi dalam aplikasi Anda.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

dan rekodnya.

Returns

int

Jumlah rekaman .

CacheData()

Efektif menyembunyikan data, menghapus kebutuhan untuk pengisian tambahan daridi bawah Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Gunakan inimetode untuk mengoptimalkan kinerja dan meminimalisir penggunaan sumber daya dalam aplikasi Andadengan menyimpan dan mengakses cache data lokal.

public override void CacheData()

Examples

Contoh ini menunjukkan cara memuat gambar WMF dari file dan daftar semua rekaman.

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

NotImplementedException

GetDefaultOptions(objek[])

Memulihkan opsi default yang terkait dengan gambar, memberikan akses kepengaturan atau konfigurasi yang sudah diatur. gunakan metode ini untuk mengakses defaultpengaturan untuk operasi pemrosesan gambar, memfasilitasi konsistensi dan kenyamanandalam fungsi aplikasi Anda.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

dengan argumen tersebut.

Returns

ImageOptionsBase

Pilihan default

GetOriginalOptions()

Dapatkan opsi gambar asli.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Pilihan gambar asli.

GetPostScript()

Akses ke data PostScript yang terkait dengan gambar, memberikan detailinformasi tentang struktur atau kontennya. gunakan metode ini untuk mendapatkanData PostScript untuk analisis atau pemrosesan lebih lanjut dalam aplikasi Anda,memungkinkan fungsi lanjutan yang berkaitan dengan PostScript rendering atau manipulasi.

public string GetPostScript()

Returns

string

Post Skenario

GetUsedFonts()

Mengembalikan daftar huruf yang digunakan dalam metafisika, memberikan wawasan ke dalamSumber font yang digunakan dalam gambar. gunakan metode ini untuk menganalisis penggunaan fontdan memastikan ketersediaan font untuk rendering atau pemrosesan lebih lanjut dalam aplikasi Anda.

public override string[] GetUsedFonts()

Returns

string [ ]

Daftar font

ResizeCanvas(Rectangle)

Reset kanvas gambar, menyesuaikan dimensi sambil mempertahankan gambarGunakan metode ini untuk mengubah ukuran kantong tanpa mengubah ukuran kantong.konten, memfasilitasi penyesuaian layout dan perubahan komposisi di dalamuntuk aplikasi.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

dengan rektangle yang baru.

Exceptions

NotImplementedException

SetPalette(Tembakau dan Bool)

Gunakan palet spesifik pada gambar, memungkinkan penyesuaian warnaMenggunakan metode ini untuk meningkatkan rendering visual danefek warna tertentu dalam aplikasi Anda.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Palet yang harus ditentukan.

updateColors bool

Jika ditetapkan pada warna ‘kebenaran’ akan diperbarui sesuai dengan palet baru; jika tidak, indeks warna tetap tidak berubah. perhatikan bahwa indeks yang tidak berubah dapat merusak gambar pada muatan jika beberapa indeks memiliki entri palet yang tidak sesuai.

Exceptions

NotImplementedException

 Indonesia