Class ApngImage

Class ApngImage

اسم الفضاء : Aspose.Imaging.FileFormats.Apng تجميع: Aspose.Imaging.dll (25.4.0)

API لملف الصورة PNG (الرسومات الشبكية المحمولة المتحركة)النموذج هو حل متعدد الاستخدامات للمطورين الذين يرغبون في دمجمحتوى الرسوم المتحركة في تطبيقاتهم.هذا 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(الخيارات، إنت، إنت)

ابدأ العمل مع فئة 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

الصورة الصافية صفر.

AddFrame(كريستيانو، UINT)

توسيع مجموعة الإطار الخاصة بك بسهولة عن طريق إضافة إطار جديد إلىمع هذه الطريقة البصرية مثالية للمطورين الذين يرغبون في إثراءصور متعددة الإطارات.سيتم ملء محتويات الإطار الجديد من الصورة المحددة.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

صورة الإطار .

frameTime uint

مدة الإطار، في مللي ثانية.

Exceptions

ArgumentNullException

الصورة الصافية صفر.

AddPage(RasterImage)

إضافة صفحة جديدة إلى الصورة بسهولة باستخدام هذه الطريقة البصرية.مثالية للمطورين الذين يرغبون في توسيع محتوى ملفات الصور الخاصة بهم بشكل ديناميكي.

public void AddPage(RasterImage page)

Parameters

page RasterImage

الصفحة التي أضيفها

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(إنت)

بسهولة تعديل الضوء من الصورة باستخدام هذه الطريقة المثيرة للاهتمام،باستخدام معيار الضوء المحدد مثالي للمطورين الذين يبحثون عن تحسين أو تقليل الضوء العام للصور ديناميكية.

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

غاما لعدد القنوات الحمراء والخضراء

AdjustGamma(السفينة، السفينة، السفينة)

إجراء تصحيح غاما على الصورة بشكل منفصل للقنوات الحمراء والخضراء والأزرقاستخدام المعايير الفردية مع هذه الطريقة البصرية مثالية للمطورين الذين يبحثون عنتحسين توازن الألوان وتعزيز الجودة البصرية للصور.

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

Parameters

gammaRed float

القناة الحمراء معدل القناة الحمراء

gammaGreen float

غاما لـ قناة خضراء

gammaBlue float

القناة الزرقاء معدل القناة الزرقاء

BinarizeBradley(المزدوج، إنت)

ثنائي الصورة باستخدام خوارزمية الحد الأقصى التكيفية لـ Bradley باستخدام الحد الأقصى الشامل للصورة

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

الفرق في الضوء بين بكسل ومتوسط نافذة بكسل s x sتركز حول هذا البكسل.

windowSize int

حجم نافذة 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(DitheringMethod، int، IColorPalette)

بسهولة تطبيق تأثيرات الانحناء على الصورة الحالية باستخدام هذه الطريقة المباشرة.مثالية للمطورين الذين يرغبون في إضافة النسيج أو تقليل الارتباط باللون في صورهم.

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

Parameters

ditheringMethod DitheringMethod

الطريقة المضغوطة .

bitsCount int

النقاط النهائية تحسب لالتقاط.

customPalette IColorPalette

أضف تعليق لـ DITERING.

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 بت لكل بكسل.لتجنب ذلك وتخزين صورة PNG مع 1 بت لكل بكسل ، استخدم هذه الطريقة للحصول على خيارات التخزين المقابلة وتجاوزهاإلى طريقة 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

الصورة الصافية صفر.

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

الصورة الصافية صفر.

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(int، int، 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(إنت، إعادة النوع)

تعديل ارتفاع الصورة بسهولة مع الحفاظ على نسبهامع هذه الطريقة البصرية مثالية للمطورين الذين يرغبون في إعادة تدوير الصورديناميكية مع الحفاظ على نسبة الجانب.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

الارتفاع الجديد

resizeType ResizeType

نوع التراجع .

ResizeWidthProportionally(إنت، إعادة النوع)

تقليص نسبيا عرض الصورة بسهولة باستخدام هذه الطريقة الحسية.مثالية للمطورين الذين يرغبون في الحفاظ على نسبة الجانب من صورهم بينماتعديل أبعادها.

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

إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرتعلى النحو المنحني (نقاط الزاوية) المشاهدات في الحالة الأخرى التي تترك الأبعاد غير ملموسة فقطالداخلية محتوى الصورة يتم توجيهها.

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

الصورة صفر .

UpdateDimensions(إنت، إنت)

تحديث أبعاد الصورة.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

عرض الصورة الجديد.

newHeight int

ارتفاع الصورة الجديدة.

UpdateMetadata()

تحديث بيانات الصورة.

protected override void UpdateMetadata()
 عربي