Class EmfImage

Class EmfImage

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

API for Enhanced Metafile Format (EMF) mendukung format gambar vektorSebuah alat yang komprehensif untuk memproses gambar grafis dalam perangkat independencara sambil mempertahankan sifat asli mereka. dikembangkan untuk mempertahankanproporsi, dimensi, warna, dan atribut grafis lainnya, termasukEMF Plus format dukungan dan fitur untuk daerah perkebunan, resizing canvasdan gambar, putar, melipat, mengatur palet gambar, mengekspor dan mengimporuntuk konteks perangkat APS, kompresi dan konversi EMF ke format lain, memastikanManipulasi yang beragam dan integrasi IMF yang tak terbatas di berbagai aplikasi.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

anggota yang diwarisi

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

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

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

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 EMF dari file dan mengkonversi ke SVG menggunakan 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()

Mulai bekerja dengan gambar EMF dengan memulai instans baru dariAspose.Imaging.FileFormats.Emf.EmfImage kelas. Ideal untuk cepat memasukkan gambar EMF ke dalamproyek Anda dengan mudah dan efisien.

[JsonConstructor]
public EmfImage()

EmfImage(dengan int, int)

Buat contoh baru dari kelas Aspose.Imaging.FileFormats.Emf.EmfImage dengan menentukan lebardan parameter ketinggian. konstruktor ini memfasilitasi proses inisialisasiGambar EMF dengan dimensi tertentu, meningkatkan efisiensi pengembangan Andaaliran kerja.

public EmfImage(int width, int height)

Parameters

width int

dengan luasnya.

height int

ketinggian yang

Properties

BitsPerPixel

Memulihkan bilangan bit per piksel spesifik untuk gambar raster, karena parameter initidak berlaku untuk gambar vektor. cepat mengidentifikasi kedalaman piksel rasterGambar untuk analisis dan manipulasi yang akurat, memastikan manipulasi yang akuratData dari gambar.

public override int BitsPerPixel { get; }

Nilai Properti

int

Exceptions

NotImplementedException

Invalid untuk gambar vektor.

FileFormat

Mengakses nilai format file yang terkait dengan objek.format file yang terkait dengan objek untuk pemrosesan lancar danpemeriksaan kompatibilitas. menyederhanakan aliran kerja Anda dengan mendapatkan format fileInformasi dengan mudah.

public override FileFormat FileFormat { get; }

Nilai Properti

FileFormat

Header

Memulihkan atau memodifikasi rekaman kepala metafil EMF dengan sifat ini.Mengelola data metafil dengan efisien di dalam aplikasi Anda.Memperbaiki aliran kerja Andadengan akses yang lancar ke informasi tajuk metafil.

public EmfMetafileHeader Header { get; set; }

Nilai Properti

EmfMetafileHeader

Tingkat F

Mengurangi ketinggian gambar, memfasilitasi penyesuaian rendering dan tataletak yang tepat.Akses ke sifat ketinggian memastikan kompatibilitas dan integrasi tak terbatas di antaraberbagai platform dan aplikasi.

public override float HeightF { get; }

Nilai Properti

float

IsCached

Mengakses nilai yang menunjukkan apakah data objek saat ini tersembunyi,menghapus kebutuhan membaca data tambahan. meningkatkan efisiensi dengan cepatmenentukan apakah data cache tersedia untuk akses segera.aliran kerja dengan proses pengambilan data yang lancar.

public override bool IsCached { get; }

Nilai Properti

bool

Records

Memulihkan atau memodifikasi rekaman yang terkait dengan objek.mengelola pengumpulan rekaman untuk manipulasi dan pemrosesan data yang lebih baik.Mengoptimalkan aliran kerja Anda dengan berinteraksi dengan rekaman objek.

public override MetaObjectList Records { get; set; }

Nilai Properti

MetaObjectList

WidthF

Akses ke lebar gambar, memberikan informasi penting untuk ketepatanRendering dan pemrosesan. cepat mendapatkan lebar gambar untuk memastikan kompatibilitasdan tata letak yang tepat dalam berbagai aplikasi dan platform.

public override float WidthF { get; }

Nilai Properti

float

Methods

CacheData()

Efektif cache data dan mencegah redundant loading dari dasarAspose.Imaging.DataStreamSupporter.DataStreamContainer dengan metode ini.kinerja dan akses data yang lancar dalam aplikasi Anda, mengoptimalkan sumber dayaPenggunaan untuk meningkatkan respons.

public override void CacheData()

Examples

Contoh ini menunjukkan cara memuat gambar EMF 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.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(objek[])

Memulihkan opsi default untuk gambar Anda dengan mudah. dengan fitur ini, Andadapat mengakses konfigurasi pre-set dengan cepat, menjamin integrasi tanpa wayar danoptimal kinerja untuk proyek Anda. ideal untuk mempercepat aliran kerja Anda danMencapai hasil yang konsisten di seluruh gambar 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.

GetUsedFonts()

Mengembalikan daftar fon yang digunakan dalam metafisika dengan metode ini.Pengetahuan tentang penggunaan fon, memfasilitasi pengelolaan yang efisien dan optimasi fonsumber daya untuk peningkatan rendering dan menunjukkan kesetiaan.

public override string[] GetUsedFonts()

Returns

string [ ]

Daftar font

ResizeCanvas(Rectangle)

Gunakan fungsi ini dengan mudah. sempurna untuk penyesuaian keseluruhandimensi gambar tanpa mengubah kontennya. meningkatkan presentasi danmempersiapkan gambar untuk berbagai ukuran paparan dengan mudah.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

dengan rektangle yang baru.

SetPalette(Tembakau dan Bool)

Menetapkan palet gambar.

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 tidak memiliki entri palet yang sesuai.

Exceptions

NotImplementedException

 Indonesia