Class EmfImage

Class EmfImage

İsim alanı : Aspose.Imaging.FileFormats.Emf Toplantı: Aspose.Imaging.dll (25.4.0)

Genişletilmiş Metafile Format (EMF) Vektor Görüntü Formatı DesteğiGrafik görüntüleri bağımsız bir cihazda işlemek için kapsamlı bir araçOrijinal özelliklerini korumak için geliştirilmiştir.boyutları, boyutları, renkleri ve diğer grafik özellikleri,EMF Plus format desteği ve hasat bölgeleri için özellikleri, yeniden canvasve resimler, döndürme, flipping, görüntü paletleri ayarlamak, ihracat ve ithalatAPS cihazı bağlamına, EMF’yi diğer biçimlere sıkıştırmak ve dönüştürmek,Çeşitli manipülasyon ve EMF görüntüleri uygulamalar arasında kesintisiz bir şekilde entegre etmek.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

mirasçı üyeleri

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

Aşağıdaki örnek, bir emz görüntüsünü emf fromat’a nasıl dönüştürdüğünü gösterir

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

Aşağıdaki örnek, bir emf görüntüsünü emz fromat’a nasıl dönüştürdüğünü gösterir

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

Aşağıdaki örnek bir kompres görüntü nasıl dönüştürülür gösterir (Emz için,.wmz, *.svgz) için raster fromat

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

Bu örnek, bir dosyadan bir EMF görüntüsünü nasıl yüklediğinizi ve EmfRasterizationOptions kullanılarak SVG’ye dönüştürdüğünü gösterir.

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()

EMF görüntüleri ile çalışmaya başlayın yeni bir örnek başlatarakAspose.Imaging.FileFormats.Emf.EmfImage sınıfı. EMF görüntüleri hızlı bir şekilde entegre etmek için idealdirProjelerinizi kolay ve verimli bir şekilde yapın.

[JsonConstructor]
public EmfImage()

EmfImage(int , int , int)

Aspose.Imaging.FileFormats.Emf.EmfImage sınıfının yeni bir örneği oluşturarak genişliği belirleyinve yükseklik parametreleri. bu yapımcı başlangıç sürecini basitleştirirEMF görüntüleri belirli boyutlara sahiptir, gelişiminizin verimliliğini artırırÇalışma akışı .

public EmfImage(int width, int height)

Parameters

width int

Genişlik için.

height int

Yükseklik için.

Properties

BitsPerPixel

Bit-per-pixel sayısını raster görüntüleri için özel olarak geri getirin, çünkü bu parametrelerVektör görüntüleri için geçerli değildir. piksel derinliğini hızlı bir şekilde belirleyinDoğru analiz ve manipülasyon için resimler, doğru işleme güvenceGörüntü verileri için.

public override int BitsPerPixel { get; }

Mülkiyet Değer

int

Exceptions

NotImplementedException

Vektör görüntüleri için geçerli değildir.

FileFormat

Dosya formatı değeri nesne ile ilişkilendirilir. kolayca belirlemekdosya biçimi, düzeltilmiş işleme için nesne ile ilişkili dosya biçimi veuyumluluk kontrolleri. dosya biçimini geri alarak çalışma akışınızı basitleştirinBilgi kolaylıkla.

public override FileFormat FileFormat { get; }

Mülkiyet Değer

FileFormat

Header

Bu mülk ile EMF metafil başlık kayıtlarını geri getirin veya değiştirin.Metafil verileri uygulamanızda verimli bir şekilde yönetin. iş akışınızı geliştirinMetafizik başlık bilgilerine kolay erişim sağlar.

public EmfMetafileHeader Header { get; set; }

Mülkiyet Değer

EmfMetafileHeader

Yüksek F

Görüntü yüksekliğini geri getirin, doğru render ve düzen ayarlarını kolaylaştırın.Yükseklik mülküne erişim uyumluluğu ve çamurlu entegrasyonu sağlarFarklı platformlar ve uygulamalar.

public override float HeightF { get; }

Mülkiyet Değer

float

IsCached

Bir nesnenin verilerinin şu anda gizli olup olmadığını gösteren bir değer erişimi,daha fazla veri okuma ihtiyacını ortadan kaldırmak. verimliliği hızlı bir şekilde artırmakCache verilerinin hemen erişimi için mevcut olup olmadığını belirlemek.Çalışma akışı, akıcı veri alım süreçleri ile.

public override bool IsCached { get; }

Mülkiyet Değer

bool

Records

nesne ile ilişkili kayıtları geri getirmek veya değiştirmek. verimli erişim veGelişmiş veri manipülasyonu ve işleme için kayıt toplama yönetimi.İş akışınızı, nesnenin kayıtlarıyla çarpıcı bir şekilde etkileşime girerek optimize edin.

public override MetaObjectList Records { get; set; }

Mülkiyet Değer

MetaObjectList

WidthF

Görüntü genişliğine erişim, doğru bilgi için gerekli bilgileri sağlarRendering ve işleme. uyumluluğu sağlamak için görüntü genişliğini hızlı bir şekilde geri almakve çeşitli uygulamalar ve platformlar içinde uygun düzen.

public override float WidthF { get; }

Mülkiyet Değer

float

Methods

CacheData()

verileri verimli bir şekilde saklayın ve alt tabanlardan kayıtsız yüklemeyi önleyinAspose.Imaging.DataStreamSupporter.DataStreamContainer bu yöntemi kullanarak.performans ve uygulamanızdaki veri erişimini akıcı hale getirmek, kaynak optimizasyonuDaha iyi tepki göstermek için kullanılır.

public override void CacheData()

Examples

Bu örnek, bir dosyadan bir EMF görüntüsünü nasıl yükleyeceğinizi ve tüm kayıtlarını listeleyeceğinizi gösterir.

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(nesne[])

Görüntü için varsayılan seçenekleri çaba sarf etmeyin. bu özellikle,Hızlı bir şekilde önceden ayarlanmış yapılandırmalara erişebilir, kayıtsız bir entegrasyon sağlar veProjeleriniz için optimum performans. iş akışınızı kolaylaştırmak için idealdir veGörüntülerinizde tutarlı sonuçlar elde etmek.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object […]

ve argümanları.

Returns

ImageOptionsBase

Default seçenekleri

GetOriginalOptions()

Orijinal görüntü seçenekleri alın.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Orijinal görüntü seçenekleri.

GetUsedFonts()

Bu yöntemle metafizede kullanılan yazı tiplerinin listesini geri getirin.yazı tipi kullanımı hakkında bilgi, yazı tipi verimli yönetimi ve optimizasyonu kolaylaştırmakGelişmiş performans ve görüntü sadakat için kaynaklar.

public override string[] GetUsedFonts()

Returns

string […]

font listesi

ResizeCanvas(Rectangle)

Bu fonksiyonu kullanarak kanvasları kolayca geri dönüştürün. genel ayar için mükemmelgörüntü boyutları içeriğini değiştirmeden.Geliştirilmiş sunum veÇeşitli görüntü boyutları için çaba sarf etmeden resimleri hazırlayın.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Yeni bir düzlem.

SetPalette(İKOLORPALET, BOOL)

Görüntü paletini oluşturun.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Palet ayarlamak için.

updateColors bool

Eğer ‘gerçek’ renkler ayarlanırsa, yeni paletine göre güncellenir; aksi takdirde renk göstergeleri değişmez kalır. değiştirilmemiş göstergeler, bazı göstergelerin ilgili palet girişleri olmadığı takdirde yükleme görüntüsünü bozabilir.

Exceptions

NotImplementedException

 Türkçe