Class ApngImage

Class ApngImage

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

API for Animated PNG (Animated Portable Network Graphics) file hình ảnhformat là một giải pháp đa dạng cho các nhà phát triển muốn tích hợpnội dung hoạt hình vào ứng dụng của họ. API này cung cấp rộng rãikiểm soát các cài đặt khung, cho phép người dùng xác định cụ thểcác thông số, bao gồm thời gian vòng tròn và cài đặt tệp PNG.công cụ phong phú tính năng, bạn có thể quản lý và tối ưu hóa màn hìnhảnh APNG, nhập khẩu và xuất khẩu hình ảnh, tăng cường năng động vàCác khía cạnh tương tác của ứng dụng của bạn.

[JsonObject(MemberSerialization.OptIn)]
public sealed class ApngImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage RasterCachedMultipageImage ApngImage

Implements

IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage

Thành viên thừa kế

RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , 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 làm thế nào để xuất định dạng tệp APNG apng từ các định hình đa trang khác không được hoạt hình.

using Aspose.Imaging;
                                                                                                                     using Aspose.Imaging.ImageOptions;

                                                                                                                     using (Image image = Image.Load("img4.tif")) {
                                                                                                                         // Setting up the default frame duration
                                                                                                                         image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
                                                                                                                         image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
                                                                                                                     }

Ví dụ sau đây cho thấy cách xuất vào định dạng tệp APNG.

using Aspose.Imaging;
                                                                         using Aspose.Imaging.ImageOptions;

                                                                         using (Image image = Image.Load("Animation1.webp")) {
                                                                             // Export to APNG animation with unlimited animation cycles as default
                                                                             image.Save("Animation1.webp.png", new ApngOptions());
                                                                             // Setting up animation cycles
                                                                             image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
                                                                         }

Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Constructors

ApngImage(Tính năng: int, int)

Bắt đầu làm việc với lớp Aspose.Imaging.FileFormats.Apng. ApngImage bằng cách khởi độngmột ví dụ mới mà không cố gắng. hoàn hảo cho các nhà phát triển muốn bắt đầuSử dụng các đối tượng ApngImage một cách nhanh chóng và hiệu quả trong các dự án của họ.

public ApngImage(ApngOptions options, int width, int height)

Parameters

options ApngOptions

Các tùy chọn.

width int

Chiều rộng .

height int

Độ cao .

Properties

DefaultFrameTime

Dễ dàng điều chỉnh thời gian frame mặc định để tạo ra các frame mới vớitính năng linh hoạt này. hoàn hảo cho các nhà phát triển tìm cách tùy chỉnh thời gian khunghiệu quả trong hoạt động của họ.

public uint DefaultFrameTime { get; set; }

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

uint

Examples

Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

FileFormat

Truy cập nhanh chóng thông tin về định dạng tệp với tài sản thuận tiện này.Lý tưởng cho các nhà phát triển cần thu thập chi tiết về định dạngCác tập tin Apng của bạn dễ dàng.

public override FileFormat FileFormat { get; }

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

FileFormat

Interlaced

Nhanh chóng xác định xem đối tượng Aspose.Imaging.FileFormats.Png. PngImage này có liên kết hay khôngvới tài sản thuận tiện này. lý tưởng cho các nhà phát triển cần phải kiểm tratrạng thái liên kết của hình ảnh PNG dễ dàng.

public bool Interlaced { get; }

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

bool

NumPlays

Kiểm soát nhanh chóng số lần hoạt hình của bạn chạy với điều nàythuộc tính đa dạng. hoàn hảo cho các nhà phát triển tìm kiếm kiểm soát chính xáchành vi hoạt động, với sự hỗ trợ cho vòng tròn vô hạn trong trường hợpGiá trị bằng 0.

public int NumPlays { get; set; }

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

int

PageCount

Khôi phục tổng số trang trong tệp hình ảnh của bạn một cách dễ dàng với tài sản này.Lý tưởng cho các nhà phát triển cần truy cập nhanh đến thông tin tính trang.

public override int PageCount { get; }

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

int

Pages

Truy cập dễ dàng các trang của hình ảnh của bạn với tài sản thuận tiện này.Hoàn hảo cho các nhà phát triển tìm kiếm truy cập nhanh chóng và dễ dàng đến các trang cá nhân để thao túng.

public override Image[] Pages { get; }

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

Image [ ]

XmpData

Kiểm soát dữ liệu XMP liên quan đến tệp của bạn bằng cách sử dụng điều nàythuộc tính đa dạng. hoàn hảo cho các nhà phát triển muốn truy cập hoặc cập nhậtThông tin metadata dễ dàng.

public override XmpPacketWrapper XmpData { get; set; }

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

XmpPacketWrapper

Methods

AddFrame()

Thật dễ dàng thêm một khung mới vào cuối bộ sưu tập frame của bạn với điều nàyphương pháp đơn giản. lý tưởng cho các nhà phát triển muốn mở rộngkhung thu thập năng động cho các hoạt hình với hình ảnh đa frame.Một khung mới sẽ được tạo theo kích thước của hình ảnh hiện tại.

public ApngFrame AddFrame()

Returns

ApngFrame

Các khung APNG mới được tạo ra.

AddFrame(RasterImage)

Nhanh chóng mở rộng bộ sưu tập frame của bạn bằng cách thêm một frame mới vào cuốivới phương pháp trực quan này. hoàn hảo cho các nhà phát triển tìm cách nâng caoAnimations của hình ảnh đa khung động.Nội dung của khung mới sẽ được lấp đầy từ hình ảnh được chỉ định.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

hình ảnh frame.

Examples

Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Exceptions

ArgumentNullException

frameImage là zero.

AddFrame(Đồ họa, uint)

Mở rộng bộ sưu tập khung của bạn một cách không ngừng bằng cách đính kèm một frame mới vàovới phương pháp trực quan này. lý tưởng cho các nhà phát triển muốn làm giàuHình ảnh hình ảnh đa khung.Nội dung của khung mới sẽ được lấp đầy từ hình ảnh được chỉ định.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

hình ảnh frame.

frameTime uint

Thời gian khung, trong milliseconds.

Exceptions

ArgumentNullException

frameImage là zero.

AddPage(RasterImage)

Thêm một trang mới vào hình ảnh một cách dễ dàng với phương pháp trực quan này.Hoàn hảo cho các nhà phát triển tìm cách mở rộng nội dung của các tập tin hình ảnh của họ một cách năng động.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Trang để thêm.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Thật dễ dàng điều chỉnh độ sáng " của hình ảnh với phương pháp trực quan này, sử dụng thông số sáng cụ thể. lý tưởng cho các nhà phát triển tìm cách tăng cường hoặc làm suy yếu tổng sáng của ảnh một cách năng động.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Giá trị ánh sáng

AdjustContrast(Sông)

Tăng độ tương phản của Aspose.Imaging.Imageđể làm cho chi tiết nổi bật với phương pháp trực quan này. lý tưởng cho các nhà phát triểntìm cách cải thiện độ rõ ràng và ảnh hưởng thị giác của hình ảnh của họ một cách năng động.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Giá trị tương phản (trong phạm vi [-100; 100])

AdjustGamma(Sông)

Ứng dụng sửa đổi gamma cho hình ảnh bằng cách sử dụng một tỷ lệ điểm lặnvới phương pháp trực quan này. lý tưởng cho các nhà phát triển tìm kiếm kiểm soát màu sắc chính xáctrong hình ảnh của họ.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma cho các kênh đỏ, xanh và xanh coefficient

AdjustGamma(float, float và float)

Thực hiện chỉnh sửa gamma trên hình ảnh riêng biệt cho các kênh màu đỏ, xanh và xanhsử dụng đồng bộ cá nhân với phương pháp trực quan này. lý tưởng cho các nhà phát triển tìm kiếmđể cân bằng màu sắc tinh tế và cải thiện chất lượng hình ảnh của họ.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gamma cho Red Channel Coefficient

gammaGreen float

Gamma cho Green Channel Coefficient

gammaBlue float

Gamma cho Blue Channel Coefficient

BinarizeBradley(Đôi, int)

Binarization của một hình ảnh bằng cách sử dụng thuật toán giới hạn thích ứng của Bradley bằng cách sử dụng giới hạn hình ảnh toàn diện

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Sự khác biệt độ sáng giữa pixel và trung bình của một s x s cửa sổ của pixelstập trung xung quanh pixel này.

windowSize int

Kích thước của s x s cửa sổ của các pixel tập trung xung quanh pixel này

BinarizeFixed(byte)

Không cố gắng nhị phân hình ảnh bằng cách sử dụng một giới hạn được xác định trước với điều nàyphương pháp trực quan. lý tưởng cho các nhà phát triển tìm cách chuyển đổi hình ảnh thành hình dạng nhị phân,đơn giản hóa chúng cho việc xử lý hoặc phân tích thêm.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Giá trị ranh giới: Nếu giá trị màu xám tương ứng của một pixel lớn hơn so với giới hạn, một255 sẽ được phân bổ cho nó, 0 khác.

BinarizeOtsu()

Thực hiện nhị phân trên hình ảnh bằng cách sử dụng Otsu thang với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm cách tự động xác định giới hạn tối ưu chochuyển đổi hình ảnh thành hình dạng nhị phân, tăng độ rõ ràng và phù hợp cho phân tích thêm.

public override void BinarizeOtsu()

Crop(Rectangle)

Không cố gắng trồng hình ảnh để tập trung vào các lĩnh vực cụ thể với phương pháp trực quan này.Hoàn hảo cho các nhà phát triển tìm cách cải thiện thành phần của hình ảnh của họ một cách năng động.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Vòng thẳng.

Crop(int, int, int, int, int)

Cây hình ảnh trong khi điều chỉnh các thay đổi một cách không ngừng với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm kiếm sự kiểm soát chính xác của quá trình khai thácđể tập trung vào các khu vực cụ thể của hình ảnh Apng của họ.

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

bên trái thay đổi.

rightShift int

Chuyển đổi đúng

topShift int

Thay đổi hàng đầu

bottomShift int

Thay đổi bên dưới.

Dither(DitheringMethod, int, IColorPalette)

Dễ dàng áp dụng hiệu ứng di chuyển cho hình ảnh hiện tại với phương pháp trực quan này.Lý tưởng cho các nhà phát triển muốn thêm cấu trúc hoặc giảm kết nối màu sắc trong hình ảnh của họ.

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

Phương pháp di chuyển.

bitsCount int

Các bit cuối cùng đếm cho dithering.

customPalette IColorPalette

Thói quen của palette cho dithering.

Filter(Xác định, FilterOptionsBase)

Dễ dàng áp dụng các bộ lọc vào góc thẳng của hình ảnh được chỉ định với điều nàyPhương pháp trực quan. hoàn hảo cho các nhà phát triển tìm cách nâng cao hoặc sửa đổi các lĩnh vực cụ thể.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Vòng thẳng.

options FilterOptionsBase

Các tùy chọn.

GetDefaultOptions(đối tượng[])

Khôi phục các tùy chọn mặc định một cách nhanh chóng với phương pháp đơn giản này.Lý tưởng cho các nhà phát triển tìm kiếm truy cập nhanh đến cài đặt hình ảnh mặc định của Apng.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Các Arguments .

Returns

ImageOptionsBase

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

GetModifyDate(Bool)

Nhanh chóng nhận được ngày và thời gian khi hình ảnh nguồn được sửa đổi lần cuốivới phương pháp này thân thiện với người dùng. lý tưởng cho các nhà phát triển cần theo dõi thay đổiquản lý tài nguyên một cách hiệu quả.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

nếu được thiết lập để ’truyền’ sử dụng thông tin từ FileInfo như là giá trị mặc định.

Returns

DateTime

Ngày và thời gian hình ảnh nguồn được sửa đổi lần cuối.

GetOriginalOptions()

Khôi phục các tùy chọn dựa trên cài đặt tệp ban đầu một cách dễ dàng với phương pháp trực quan này.Hoàn hảo cho các nhà phát triển muốn truy cập và sử dụng các cài đặt phù hợp với các tính năngtừ file ban đầu.Điều này có thể hữu ích để giữ độ sâu bit và các thông số khác của hình ảnh ban đầu không thay đổi.Ví dụ, nếu chúng tôi tải một hình ảnh PNG màu đen và trắng với 1 bit mỗi pixel và sau đó lưu nó bằng cách sử dụngAspose.Imaging.DataStreamSupporter.Save(System.String) phương pháp, hình ảnh PNG output với 8 bit mỗi pixel sẽ được tạo ra.Để tránh nó và tiết kiệm hình ảnh PNG với 1 bit mỗi pixel, sử dụng phương pháp này để có được các tùy chọn tiết kiệm tương ứng và thông qua chúngđến phương pháp Aspose.Imaging.Image.Save(System.String,_W L17.ImageOptionsBase) như là thông số thứ hai.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Các tùy chọn dựa trên cài đặt tệp ban đầu.

GetPagesAsEnumerable()

Nhận các trang như có thể liệt kê.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable < Image >

Các trang riêng như có thể liệt kê.

Grayscale()

Dễ dàng chuyển đổi hình ảnh thành đại diện rực rỡ của nó với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm cách chuyển đổi hình ảnh màu sang màu xám, đơn giản hóahình ảnh hoặc các quá trình phân tích.

public override void Grayscale()

InsertFrame(int)

Thất bại chèn một khung mới vào bộ sưu tập frame của bạn tạivới phương pháp trực quan này. lý tưởng cho các nhà phát triển tìm kiếm kiểm soát chính xácsắp xếp các khung trong các hình ảnh hoạt hình của họ của nhiều frame.Một khung mới sẽ được tạo theo kích thước của hình ảnh hiện tại.

public ApngFrame InsertFrame(int index)

Parameters

index int

Chỉ số .

Returns

ApngFrame

Các khung APNG mới được tạo ra.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

InsertFrame(Nhãn hiệu: RasterImage)

Nhập một khung mới vào bộ sưu tập frame của riêng bạn trên chỉ số cụ thể.Nội dung của khung mới sẽ được lấp đầy từ hình ảnh được chỉ định.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

Chỉ số .

frameImage RasterImage

hình ảnh frame.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

frameImage là zero.

InsertFrame(Nhãn hiệu: RasterImage, uint)

Nhập một khung mới vào bộ sưu tập frame của riêng bạn trên chỉ số cụ thể.Nội dung của khung mới sẽ được lấp đầy từ hình ảnh được chỉ định.

public void InsertFrame(int index, RasterImage frameImage, uint frameTime)

Parameters

index int

Chỉ số .

frameImage RasterImage

hình ảnh frame.

frameTime uint

Thời gian khung, trong milliseconds.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

frameImage là zero.

PopFrameAt(int)

Loại bỏ và lấy lại khung ở chỉ mục cụ thể từ bộ sưu tập frame của bạnvới phương pháp trực quan này. hoàn hảo cho các nhà phát triển tìm kiếm quản lý hiệu quảCác khung trong các hoạt động của họ.

public ApngFrame PopFrameAt(int index)

Parameters

index int

Chỉ số .

Returns

ApngFrame

Cấu hình APNG bị loại bỏ

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ReleaseManagedResources()

Hãy chắc chắn rằng không có tài nguyên không được quản lý được phát hành ở đây, vì chúng có thể đã đượcđã được phát hành.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Làm sạch bộ sưu tập khung của bạn bằng cách loại bỏ tất cả các khớp với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm cách cài đặt lại hoặc làm mới hoạt hình của họ.

public void RemoveAllFrames()

Examples

Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex &lt; numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex &gt;= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

RemoveFrameAt(int)

Loại bỏ khung trên chỉ mục cụ thể từ bộ sưu tập frame của bạn một cách an toànVới phương pháp này. hoàn hảo cho các nhà phát triển tìm kiếm quản lý khớp của khungtrong hình ảnh đa khung của họ.Các khung để bị xóa sẽ bị hủy bỏ.

public void RemoveFrameAt(int index)

Parameters

index int

Chỉ số .

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ResetDefaultImage()

Xóa một hình ảnh mặc định được thiết lập trước với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm cách cài đặt lại hoặc xóa hình ảnh mặc định trong hoạt hình của họ.Sau đó, hình ảnh mặc định là frame đầu tiên trong bộ sưu tập frame của chính nó.(Không thể xóa bằng cách sử dụng phương pháp này).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Khôi phục lại hình ảnh một cách dễ dàng với phương pháp trực quan này. hoàn hảo cho các nhà phát triểncố gắng điều chỉnh kích thước của hình ảnh của họ một cách năng động.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

Chiều rộng mới

newHeight int

Độ cao mới

resizeType ResizeType

Loại Resize

Resize(int, int, ImageResizeSettings)

Xóa lại hình ảnh.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

Chiều rộng mới

newHeight int

Độ cao mới

settings ImageResizeSettings

Các thiết lập resize.

ResizeHeightProportionally(Nhãn hiệu: ResizeType)

Không cố gắng điều chỉnh chiều cao của hình ảnh của bạn trong khi duy trì tỷ lệ của nóvới phương pháp trực quan này. hoàn hảo cho các nhà phát triển muốn khôi phục hình ảnhnăng động trong khi duy trì tỷ lệ khía cạnh của họ.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Độ cao mới

resizeType ResizeType

Loại của resize.

ResizeWidthProportionally(Nhãn hiệu: ResizeType)

Tương đối khôi phục chiều rộng của hình ảnh một cách khó khăn với phương pháp trực quan này.Lý tưởng cho các nhà phát triển tìm cách duy trì tỷ lệ khía cạnh của hình ảnh của họ trong khiđiều chỉnh kích thước của nó.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

Chiều rộng mới

resizeType ResizeType

Loại của resize.

Rotate(Float, Bool, Màu sắc)

Chuyển đổi hình ảnh xung quanh trung tâm của nó một cách khó khăn với phương pháp trực quan này.Hoàn hảo cho các nhà phát triển tìm cách điều chỉnh định hướng của hình ảnh của họ một cách năng động.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

góc xoay trong độ. giá trị tích cực sẽ xoay theo cách đồng hồ.

resizeProportionally bool

Nếu được thiết lập để ’truyền’ bạn sẽ có kích thước hình ảnh của bạn thay đổi theo các dự án thẳng góc (các điểm góc) quay trong trường hợp khác để lại các kích cỡ không bị chạm và chỉ nội bộ nội dung ảnh được quay.

backgroundColor Color

Màu sắc của nền

RotateFlip(RotateFlipType)

Không cố gắng thao túng khung hoạt động bằng cách xoay, trượt, hoặc cả haivới phương pháp trực quan này. lý tưởng cho các nhà phát triển tìm cách tùy chỉnhHướng dẫn hình ảnh frame.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Loại Flip Rotate

SaveData(Stream)

Tiết kiệm dữ liệu

protected override void SaveData(Stream stream)

Parameters

stream Stream

Stream để lưu dữ liệu đến.

SetDefaultImage(RasterImage)

Thiết lập hình ảnh raster cụ thể như là hình dạng mặc định cho hoạt hình hiện tạidễ dàng với phương pháp này. hoàn hảo cho các nhà phát triển tìm cách tùy chỉnhhình ảnh mặc định trong hoạt hình của họ.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

hình ảnh .

Exceptions

ArgumentNullException

Hình ảnh là zero.

UpdateDimensions(int, int)

Cập nhật kích thước hình ảnh.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Hình ảnh mới rộng.

newHeight int

Độ cao hình ảnh mới.

UpdateMetadata()

Cập nhật hình ảnh metadata.

protected override void UpdateMetadata()
 Tiếng Việt