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
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
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
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
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
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
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
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
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
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
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
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
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
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
Các khung APNG mới được tạo ra.
Exceptions
index’ is less than 0.or
index’ 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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
Cấu hình APNG bị loại bỏ
Exceptions
index’ is less than 0.or
index’ 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 < 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();
}
}
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
index’ is less than 0.or
index’ 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
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()