Class EmfImage

Class EmfImage

Tên không gian: Aspose.Imaging.FileFormats.Emf Tổng hợp: Aspose.Imaging.dll (25.4.0)

API for Enhanced Metafile Format (EMF) hỗ trợ định dạng hình ảnh vectormột công cụ toàn diện để xử lý hình ảnh đồ họa trong một thiết bị độc lậpcách trong khi duy trì tài sản ban đầu của họ. phát triển để giữtỷ lệ, kích thước, màu sắc, và các thuộc tính đồ họa khác, nó bao gồmHỗ trợ định dạng EMF Plus và các tính năng cho các khu vực khai thác, canvas tái tạovà hình ảnh, xoay, nhấp nháy, thiết lập hình nền, xuất khẩu và nhập khẩuđể APS thiết bị khung, làm nén và chuyển đổi EMF sang các định dạng khác, đảm bảoViệc thao tác đa dạng và tích hợp hình ảnh EMF trong các ứng dụng.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Thành viên thừa kế

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

Ví dụ sau đây cho thấy cách chuyển đổi hình ảnh emz sang 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});
                                                                                }

Ví dụ sau đây cho thấy cách chuyển đổi hình ảnh emf sang 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});
                                                                                }

Ví dụ sau đây cho thấy làm thế nào để chuyển đổi một hình ảnh nén (Emz ,.wmz, *.svgz) để 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});
                                                                                                                    }
                                                                                                                }

Ví dụ này cho thấy làm thế nào để tải một hình ảnh EMF từ một tệp và chuyển đổi nó sang SVG bằng cách sử dụng 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()

Bắt đầu làm việc với hình ảnh EMF bằng cách bắt đầu một trường hợp mới củaAspose.Imaging.FileFormats.Emf. EmfImage lớp. lý tưởng để nhanh chóng tích hợp hình ảnh EMF vàoCác dự án của bạn với dễ dàng và hiệu quả.

[JsonConstructor]
public EmfImage()

EmfImage(int, int)

Tạo một ví dụ mới của lớp Aspose.Imaging.FileFormats.Emf. EmfImage bằng cách xác định chiều rộngvà các thông số chiều cao. nhà xây dựng này đơn giản hóa quá trình khởi độngHình ảnh EMF với kích thước cụ thể, tăng hiệu quả phát triển của bạndòng công việc

public EmfImage(int width, int height)

Parameters

width int

Chiều rộng .

height int

Độ cao .

Properties

BitsPerPixel

Khôi phục số bit-per-pixel cụ thể cho các hình ảnh raster, như thông số nàykhông áp dụng cho hình ảnh vector. nhanh chóng xác định độ sâu pixel của rasterhình ảnh để phân tích chính xác và thao túng, đảm bảo xử lý đúng cáchDữ liệu hình ảnh.

public override int BitsPerPixel { get; }

Giá trị bất động sản

int

Exceptions

NotImplementedException

Không hợp lệ cho hình ảnh vector.

FileFormat

Truy cập vào giá trị định dạng tệp liên quan đến đối tượng. dễ dàng xác địnhđịnh dạng tệp liên quan đến đối tượng để xử lý nhanh chóng vàkiểm tra tương thích. đơn giản hóa dòng công việc của bạn bằng cách lấy lại định dạng tệpThông tin dễ dàng

public override FileFormat FileFormat { get; }

Giá trị bất động sản

FileFormat

Header

Khôi phục hoặc sửa đổi hồ sơ tiêu đề EMF với tài sản này.quản lý dữ liệu metafile một cách hiệu quả trong ứng dụng của bạn. cải thiện dòng công việcvới quyền truy cập nhanh chóng vào thông tin tiêu đề metafile.

public EmfMetafileHeader Header { get; set; }

Giá trị bất động sản

EmfMetafileHeader

cao F

Giúp lại chiều cao của hình ảnh, tạo điều kiện cho việc thực hiện chính xác và điều chỉnh bố trí.Truy cập vào tài sản chiều cao đảm bảo sự tương thích và tích hợp không dây giữaCác nền tảng và ứng dụng khác nhau.

public override float HeightF { get; }

Giá trị bất động sản

float

IsCached

Truy cập một giá trị cho thấy liệu dữ liệu của đối tượng hiện đang được ẩn,loại bỏ nhu cầu đọc dữ liệu bổ sung. tăng hiệu quả bằng cách nhanh chóngxác định liệu dữ liệu cache có sẵn cho quyền truy cập ngay lập tức hay không.dòng công việc với các quá trình thu hồi dữ liệu nhanh chóng.

public override bool IsCached { get; }

Giá trị bất động sản

bool

Records

Khôi phục hoặc sửa đổi các bản ghi liên quan đến đối tượng.quản lý việc thu thập hồ sơ cho việc thao tác và xử lý dữ liệu được cải thiện.Tối ưu hóa dòng công việc của bạn bằng cách tương tác không ngừng với hồ sơ của đối tượng.

public override MetaObjectList Records { get; set; }

Giá trị bất động sản

MetaObjectList

Viên WidthF

Truy cập vào chiều rộng của hình ảnh, cung cấp thông tin cần thiết để chính xácrendering và xử lý. nhanh chóng lấy lại chiều rộng của hình ảnh để đảm bảo tương thíchvà sắp xếp phù hợp trong các ứng dụng và nền tảng khác nhau.

public override float WidthF { get; }

Giá trị bất động sản

float

Methods

CacheData()

Cache dữ liệu một cách hiệu quả và ngăn ngừa tải xuống từ nền tảngAspose.Imaging.DataStreamSupporter.Thuyết minh dữ liệu với phương pháp này.Cải thiệnhiệu suất và truy cập dữ liệu nhanh chóng trong ứng dụng của bạn, tối ưu hóa tài nguyênSử dụng để cải thiện phản ứng.

public override void CacheData()

Examples

Ví dụ này cho thấy cách tải một hình ảnh EMF từ một tệp và liệt kê tất cả các bản ghi của nó.

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(đối tượng[])

Khôi phục các tùy chọn mặc định cho hình ảnh của bạn một cách nhanh chóng. với tính năng này, bạncó thể truy cập nhanh chóng các cấu hình đặt trước, đảm bảo sự tích hợp không dây vàhiệu suất tối ưu cho các dự án của bạn. lý tưởng để làm dịu dòng công việc vàđạt được kết quả liên tục trên các hình ảnh của bạn.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Các Arguments .

Returns

ImageOptionsBase

Lựa chọn mặc định

GetOriginalOptions()

Nhận các tùy chọn hình ảnh ban đầu.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Các tùy chọn hình ảnh ban đầu.

GetUsedFonts()

Khôi phục danh sách các phông chữ được sử dụng trong metaphile với phương pháp này.hiểu biết về việc sử dụng font, tạo điều kiện cho việc quản lý hiệu quả và tối ưu hóa fontCác nguồn lực để cải thiện rendering và hiển thị lòng trung thành.

public override string[] GetUsedFonts()

Returns

string [ ]

Danh sách font

ResizeCanvas(Rectangle)

Khôi phục các bút chì một cách dễ dàng bằng cách sử dụng chức năng này. hoàn hảo để điều chỉnh tổng thểkích thước của hình ảnh mà không thay đổi nội dung của nó. nâng cao trình bày vàChuẩn bị các hình ảnh cho các kích thước hiển thị khác nhau một cách dễ dàng.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Mục đích mới.

SetPalette(Màn hình, bool)

Đặt hình ảnh palette.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Palette để đặt.

updateColors bool

nếu thiết lập màu sắc ’thực tế’ sẽ được cập nhật theo bảng màu mới; nếu không, chỉ số màu vẫn không thay đổi. lưu ý rằng chỉ số không thay đổi có thể phá vỡ hình ảnh trên tải nếu một số chỉ số không có nhập bảng màu tương ứng.

Exceptions

NotImplementedException

 Tiếng Việt