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