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
Exceptions
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
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
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
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
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
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
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
Pilihan default
GetOriginalOptions()
Dapatkan opsi gambar asli.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.