Class ApngImage

Class ApngImage

이름 공간 : Aspose.Imaging.FileFormats.Apng 모임: Aspose.Imaging.dll (25.4.0)

애니메이션 PNG (Animated Portable Network Graphics) 이미지 파일의 API포맷은 개발자가 통합하고자하는 다양한 솔루션입니다.애니메이션 콘텐츠에 그들의 응용 프로그램.이 API는 광범위한프레임 설정에 대한 제어, 사용자가 프레임 구체를 정의 할 수 있도록파라미터, 루프 기간 및 PNG 파일 설정 포함.기능이 풍부한 도구, 당신은 쉽게 관리하고 디스플레이를 최적화 할 수 있습니다APNG 이미지, 수입 및 수출 이미지, 역동성을 향상시키고귀하의 응용 프로그램의 상호 작용적인 측면

[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

상속 회원들

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

다음 예제는 다른 비 애니메이션 멀티 페이지 형식에서 APNG 파일 형식을 수출하는 방법을 보여줍니다.

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
                                                                                                                     }

다음 예제는 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
                                                                         }

다음 예제는 다른 라스터 단일 페이지 이미지에서 APNG 이미지를 만드는 방법을 보여줍니다.

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(옵션, int, int)

Aspose.Imaging.FileFormats.Apng.ApngImage 클래스를 시작하여 작업을 시작합니다.새로운 사례는 노력없이 완벽합니다 개발자가 시작하려는ApngImage 개체를 프로젝트에서 빠르고 효율적으로 사용합니다.

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

Parameters

options ApngOptions

그 옵션들

width int

넓은 넓은

height int

높이에 대하여

Properties

DefaultFrameTime

기본 프레임 기간을 쉽게 조정하여 새로운 프레임을 만들 수 있습니다.이 유연한 속성. 프레임 타이밍을 사용자 정의하려는 개발자를위한 완벽한그들의 애니메이션에서 효율적으로

public uint DefaultFrameTime { get; set; }

부동산 가치

uint

Examples

다음 예제는 다른 라스터 단일 페이지 이미지에서 APNG 이미지를 만드는 방법을 보여줍니다.

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

이 편리한 속성으로 파일 형식에 대한 정보에 빠르게 액세스합니다.형식에 대한 세부 사항을 얻을 필요가있는 개발자를위한 이상적인그들의 Apng 파일을 쉽게.

public override FileFormat FileFormat { get; }

부동산 가치

FileFormat

Interlaced

이 Aspose.Imaging.FileFormats.Png.PngImage 개체가 연결되어 있는지 신속하게 확인하십시오.이 편리한 재산으로 개발자가 확인해야하는 데 이상적입니다.PNG 이미지의 상호 연결 상태가 쉽습니다.

public bool Interlaced { get; }

부동산 가치

bool

NumPlays

힘들게 당신의 애니메이션이 이와 함께 흐르는 시간의 수를 제어하십시오.다중 재산. 정확한 통제를 추구하는 개발자를위한 완벽한애니메이션 행동, 무한한 회전을 지원하는 경우값은 0과 동일합니다.

public int NumPlays { get; set; }

부동산 가치

int

PageCount

이 속성으로 이미지 파일의 전체 페이지 수를 쉽게 복구하십시오.개발자가 페이지 계산 정보에 빠른 액세스를 필요로하는 데 이상적입니다.

public override int PageCount { get; }

부동산 가치

int

Pages

이 편리한 재산으로 당신의 이미지의 페이지에 쉽게 액세스하십시오.개별 페이지에 빠르고 쉬운 액세스를 추구하는 개발자를 위해 완벽합니다.

public override Image[] Pages { get; }

부동산 가치

Image [ ] [ [ ]

XmpData

이 파일을 사용하여 파일과 관련된 XMP 메타 데이터를 쉽게 관리합니다.다양한 재산. 액세스 또는 업데이트를 추구하는 개발자를위한 완벽한메타데이터 정보는 쉽습니다.

public override XmpPacketWrapper XmpData { get; set; }

부동산 가치

XmpPacketWrapper

Methods

AddFrame()

이 프레임 컬렉션의 끝에 새로운 프레임을 쉽게 첨부하십시오.간단한 방법. 개발자를위한 이상적인 개발자 자신의 확장프레임 컬렉션은 다중 프레임 이미지를 가진 애니메이션을위한 역동적입니다.새 프레임은 현재 이미지의 크기에 따라 만들어집니다.

public ApngFrame AddFrame()

Returns

ApngFrame

새로 만들어진 APNG 프레임.

AddFrame(RasterImage)

끝에 새로운 프레임을 추가함으로써 프레임 컬렉션을 쉽게 확장합니다.이 직관적인 방법으로 개발자를 위해 완벽합니다.다중 프레임 이미지의 애니메이션은 역동적입니다.새 프레임의 내용은 지정된 이미지에서 채워집니다.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

프레임 이미지 입니다.

Examples

다음 예제는 다른 라스터 단일 페이지 이미지에서 APNG 이미지를 만드는 방법을 보여줍니다.

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

프레임 이미지는 0입니다.

AddFrame(라스테르 이미지, uint)

프레임 컬렉션을 끊임없이 확장하여 새로운 프레임을 첨부하여이 직관적인 방법으로 개발자를위한 이상적인 개발자 자신의 풍부함을 찾고멀티 프레임 이미지의 애니메이션.새 프레임의 내용은 지정된 이미지에서 채워집니다.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

프레임 이미지 입니다.

frameTime uint

프레임 기간, 밀리초

Exceptions

ArgumentNullException

프레임 이미지는 0입니다.

AddPage(RasterImage)

이 직관적인 방법으로 이미지에 새 페이지를 쉽게 추가하십시오.이미지 파일의 콘텐츠를 역동적으로 확장하려는 개발자를위한 완벽합니다.

public void AddPage(RasterImage page)

Parameters

page RasterImage

추가하는 페이지입니다.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(이트)

이 직관적인 방법을 사용하여 이미지의 <코드 클래스=“paramref”> 밝기를 쉽게 조정할 수 있으며, 지정된 밝기 매개 변수를 사용합니다.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

빛의 가치

AdjustContrast(플로트)

Aspose.Imaging.Image의 대조를 향상시킵니다이 직관적인 방법으로 세부 사항을 강조하십시오.이 개발자를위한 이상적인그들의 이미지의 시각적 명확성과 영향을 역동적으로 향상시키기 위해 노력한다.

public override void AdjustContrast(float contrast)

Parameters

contrast float

대조 값 (내 범위 [-100; 100])

AdjustGamma(플로트)

플로팅 포인트 요소를 사용하여 이미지에 게마 수정을 적용합니다.이 직관적인 방법으로, 정확한 색상 제어를 추구하는 개발자에게 이상적입니다.그들의 이미지에서

public override void AdjustGamma(float gamma)

Parameters

gamma float

빨간색, 녹색 및 파란색 채널에 대한 Gamma

AdjustGamma(해군, 해군, 해군)

빨간색, 녹색 및 파란색 채널을 위해 별도로 이미지에 게마 수정을 수행합니다.이 직관적인 방법을 사용하여 개별 요소를 사용합니다.이 개발자를 위해 이상적입니다.얇은 색상 균형을 유지하고 이미지의 시각적 품질을 향상시킵니다.

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

Parameters

gammaRed float

붉은 채널 요소를 위한 Gamma

gammaGreen float

녹색 채널 요소를 위한 Gamma

gammaBlue float

파란 채널 요소를 위한 Gamma

BinarizeBradley(이중, 이중)

Bradley의 적응형 경계선 알고리즘을 사용하여 이미지의 이중화

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

픽셀 사이의 밝기 차이와 픽셀의 s x s 창의 평균 차이이 픽셀 주위에 중점을 둡니다.

windowSize int

이 픽셀 주위에 중점을 둔 픽셀의 s x s 창의 크기

BinarizeFixed(바이트)

이와 함께 미리 설정된 한계를 사용하여 이미지를 쉽게 바이너리화합니다.직관적인 방법.이제 개발자가 이미지를 바이너리 형태로 변환하려는 데 이상적입니다.더 많은 처리 또는 분석을 위해 그들을 단순화합니다.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

픽셀의 해당 회색 값이 픽셀의 한계를 초과하는 경우, 픽셀의 값은 픽셀의 한계를 초과합니다.255은 그에게 맡겨질 것이며, 0은 다르게 맡겨질 것이다.

BinarizeOtsu()

이 직관적인 방법으로 Otsu 경계를 사용하여 이미지를 바이너리화합니다.개발자가 자동으로 최적의 한계를 결정하려는 데 이상적입니다.이미지를 바이너리 형태로 변환하여 그들의 명확성과 추가 분석에 적합성을 향상시킵니다.

public override void BinarizeOtsu()

Crop(Rectangle)

이 직관적인 방법으로 특정 영역에 초점을 맞추기 위해 이미지를 열심히 재배합니다.그들의 이미지의 구성을 역동적으로 개선하기 위해 노력하는 개발자를위한 완벽합니다.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

오른쪽 쪽 쪽

Crop(인트, 인트, 인트)

이 직관적인 방법으로 움직임을 조정하는 동안 이미지를 묘사하십시오.수확 과정에 대한 정확한 통제를 추구하는 개발자를위한 이상적인그들의 Apng 이미지의 특정 영역에 초점을 맞추십시오.

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

Parameters

leftShift int

왼쪽이 바뀐다.

rightShift int

올바른 변화

topShift int

꼭대기 변동

bottomShift int

밑바닥의 변화

Dither(Dithering 방법, int, IColorPalette)

이 직관적인 방법으로 현재 이미지에 디트링 효과를 쉽게 적용합니다.개발자가 그들의 이미지에 텍스트를 추가하거나 색상 묶음을 줄이려고하는 데 이상적입니다.

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

Parameters

ditheringMethod DitheringMethod

디트리밍 방법을 사용합니다.

bitsCount int

마지막 비트는 디트링을 위해 계산됩니다.

customPalette IColorPalette

Dithering을 위한 특정 팔레트.

Filter(오른쪽, FilterOptionsBase)

쉽게이 이미지의 지정된 직경에 필터를 적용합니다.직관적인 방법. 특정 영역을 향상시키거나 변경하려는 개발자를위한 완벽합니다.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

오른쪽 쪽 쪽

options FilterOptionsBase

그 옵션들

GetDefaultOptions(객체[])

이 간단한 방법으로 기본 옵션을 쉽게 복구하십시오.기본 Apng 이미지 설정에 빠른 액세스를 원하는 개발자를위한 이상적입니다.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ] [ [ ]

그들의 논쟁들

Returns

ImageOptionsBase

기본 옵션

GetModifyDate(바울)

빠르게 리소스 이미지가 마지막으로 수정된 날짜와 시간을 얻으십시오.이 사용자 친화적 인 방법으로 개발자가 변경 사항을 추적해야하는 데 이상적입니다.효율적으로 자원을 관리한다.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

‘진실’으로 설정하면 FileInfo의 정보를 기본 값으로 사용합니다.

Returns

DateTime

리소스 이미지의 날짜와 시간이 마지막으로 수정되었습니다.

GetOriginalOptions()

이 직관적인 방법을 사용하여 원래 파일 설정을 기반으로 옵션을 복구하십시오.특징과 일치하는 설정에 액세스하고 사용하려는 개발자를위한 완벽한원본 파일의 경우.이것은 비트 깊이와 원본 이미지의 다른 매개 변수를 변함없이 유지하는 데 도움이 될 수 있습니다.예를 들어, 블랙 흰색 PNG 이미지를 픽셀 당 1비트로 충전하고 그것을 저장하면Aspose.Imaging.DataStreamSupporter.Save(System.String) 방법, 출력 PNG 이미지 8 비트 / 픽셀이 생성됩니다.그것을 피하고 픽셀 당 1 비트로 PNG 이미지를 저장하려면이 방법을 사용하여 해당 저장 옵션을 얻고 통과하십시오.Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) 방법은 두 번째 매개 변수입니다.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

원본 파일 설정에 기초한 옵션.

GetPagesAsEnumerable()

페이지를 숫자로 얻을 수 있습니다.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable &lt에 대한 정보 Image >

자신의 페이지를 숫자로 할 수 있습니다.

Grayscale()

이 직관적인 방법으로 그림을 그레이 스케일로 쉽게 변환합니다.색상 이미지를 그레이 스케일로 변환하려는 개발자를위한 이상, 그들의 단순화시각화 또는 분석 과정.

public override void Grayscale()

InsertFrame(이트)

지정된 프레임에서 프레임 컬렉션에 새 프레임을 쉽게 삽입하십시오.이 직관적인 방법으로 개발자를 위해 이상적입니다 정확한 통제를 찾고 있습니다.그들의 다중 프레임 이미지의 애니메이션에서 프레임의 배열.새 프레임은 현재 이미지의 크기에 따라 만들어집니다.

public ApngFrame InsertFrame(int index)

Parameters

index int

그리고 인덱스

Returns

ApngFrame

새로 만들어진 APNG 프레임.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(인테리어, RasterImage)

새 프레임을 지정된 인덱스에서 자신의 프레임 컬렉션에 삽입합니다.새 프레임의 내용은 지정된 이미지에서 채워집니다.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

그리고 인덱스

frameImage RasterImage

프레임 이미지 입니다.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

프레임 이미지는 0입니다.

InsertFrame(인트, RasterImage, uint)

새 프레임을 지정된 인덱스에서 자신의 프레임 컬렉션에 삽입합니다.새 프레임의 내용은 지정된 이미지에서 채워집니다.

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

Parameters

index int

그리고 인덱스

frameImage RasterImage

프레임 이미지 입니다.

frameTime uint

프레임 기간, 밀리초

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

프레임 이미지는 0입니다.

PopFrameAt(이트)

제거 및 프레임 컬렉션에서 지정된 인덱스의 프레임을 복구이 직관적 인 방법으로 개발자를위한 완벽한 효율적인 관리그들의 애니메이션에 있는 프레임.

public ApngFrame PopFrameAt(int index)

Parameters

index int

그리고 인덱스

Returns

ApngFrame

제거된 APNG 프레임

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

관리 된 자원을 풀어주십시오. 관리되지 않은 자원이 여기에 풀어주지 않도록하십시오.이미 풀려났다.

protected override void ReleaseManagedResources()

RemoveAllFrames()

이 직관적인 방법으로 모든 프레임을 제거함으로써 프레임 컬렉션을 청소합니다.애니메이션을 재설정하거나 새롭게하려는 개발자를위한 이상적입니다.

public void RemoveAllFrames()

Examples

다음 예제는 다른 라스터 단일 페이지 이미지에서 APNG 이미지를 만드는 방법을 보여줍니다.

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

프레임 컬렉션에서 지정된 인덱스에 있는 프레임을 무조건 제거합니다.이 방법으로 개발자를위한 완벽한 프레임 관리그들의 멀티 프레임 이미지에서.삭제되는 프레임은 삭제됩니다.

public void RemoveFrameAt(int index)

Parameters

index int

그리고 인덱스

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

이 직관적인 방법을 사용하여 이전에 설정된 기본 이미지를 제거합니다.애니메이션에서 기본 이미지를 다시 설정하거나 삭제하려는 개발자를위한 이상적입니다.그런 다음 기본 이미지는 프레임 컬렉션의 첫 번째 프레임입니다.(이 방법을 사용하여 삭제할 수 없습니다.)

public void ResetDefaultImage()

Resize(인트, 인트, ResizeType)

이 직관적인 방법으로 그림을 무조건 재구성합니다.이 개발자를위한 완벽한그들의 이미지의 차원을 역동적으로 조정하려고합니다.

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

Parameters

newWidth int

새로운 광도 입니다.

newHeight int

새로운 높이 입니다.

resizeType ResizeType

리세스 타입이죠.

Resize(이트, 이트, ImageResizeSettings)

이미지를 재현합니다.

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

Parameters

newWidth int

새로운 광도 입니다.

newHeight int

새로운 높이 입니다.

settings ImageResizeSettings

재구성 설정에 대하여

ResizeHeightProportionally(인트, ResizeType)

힘들게 이미지의 높이를 조정하면서 비율을 유지합니다.이 직관적인 방법으로 개발자를위한 완벽한 이미지 재구성동시에 그들의 측면 비율을 유지하는 동시에 역동적으로.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

새로운 높이 입니다.

resizeType ResizeType

리시스의 종류입니다.

ResizeWidthProportionally(인트, ResizeType)

이 직관적인 방법으로 이미지의 폭을 상대적으로 무력하게 재구성합니다.개발자가 자신의 이미지의 측면 비율을 유지하려고하는 동안 이상적입니다.그들의 차원을 조정한다.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

새로운 광도 입니다.

resizeType ResizeType

리시스의 종류입니다.

Rotate(플로트, 볼, 색상)

이 직관적인 방법으로 중앙 주위의 이미지를 열심히 회전하십시오.그들의 이미지의 방향을 역동적으로 조정하려는 개발자를위한 완벽합니다.

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

Parameters

angle float

긍정적 값은 시계로 회전합니다.

resizeProportionally bool

‘진실’으로 설정하면 이미지 크기가 변경되며, 다른 경우에는 측정이 터치되지 않고 internal 이미지 콘텐츠만 회전됩니다.

backgroundColor Color

배경의 색깔.

RotateFlip(RotateFlipType)

효과적으로 활성 프레임을 회전, 플리핑 또는 둘 다를 통해 조작하십시오.이 직관적인 방법을 사용하여 개발자가 사용자 정의하려는 데 이상적입니다.이미지 프레임 방향

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

로테이트 플립 유형

SaveData(Stream)

데이터를 저장합니다.

protected override void SaveData(Stream stream)

Parameters

stream Stream

데이터를 저장하기위한 스트림.

SetDefaultImage(RasterImage)

현재 애니메이션의 기본 이미지로 지정된 라스터 이미지를 설정합니다.이 방법으로 힘들지 않습니다.이 방법을 사용하여 사용자 정의하려는 개발자를위한 완벽한그들의 애니메이션에서 기본 이미지.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

그 이미지 입니다.

Exceptions

ArgumentNullException

사진은 0 입니다.

UpdateDimensions(이트, 이트)

이미지 차원을 업데이트합니다.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

새로운 이미지 폭.

newHeight int

새로운 이미지 높이.

UpdateMetadata()

이미지 메타 데이터를 업데이트합니다.

protected override void UpdateMetadata()
 한국어