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; }
قيمة الممتلكات
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; }
قيمة الممتلكات
Interlaced
تحديد بسرعة ما إذا كان هذا الكائن Aspose.Imaging.FileFormats.Png.PngImage مترابطامع هذا الممتلكات المريحة. مثالية للمطورين بحاجة إلى التحققوضع الربط بين الصور PNG بسهولة.
public bool Interlaced { get; }
قيمة الممتلكات
NumPlays
التحكم بسهولة في عدد المرات التي تتحرك فيها الرسوم المتحركة مع هذاالممتلكات المتنوعة مثالية للمطورين الذين يبحثون عن السيطرة الدقيقة علىالسلوك الرسوم المتحركة، مع دعم لالتقاط لا نهاية له في حالةالقيمة تساوي 0.
public int NumPlays { get; set; }
قيمة الممتلكات
PageCount
استرداد العدد الإجمالي من الصفحات في ملف الصورة الخاص بك بسهولة مع هذه الممتلكات.مثالية للمطورين الذين يحتاجون إلى إمكانية الوصول السريع إلى معلومات حساب الصفحة.
public override int PageCount { get; }
قيمة الممتلكات
Pages
الوصول بسهولة إلى صفحات الصورة الخاصة بك مع هذا الممتلكات المريحة.مثالية للمطورين الذين يبحثون عن إمكانية الوصول السريع والسهل إلى صفحات فردية للتلاعب بها.
public override Image[] Pages { get; }
قيمة الممتلكات
Image [ ]
XmpData
التعامل بسهولة مع بيانات XMP المرتبطة بملفاتك باستخدام هذاالممتلكات المتنوعة مثالية للمطورين الذين يبحثون عن الوصول أو التحديثمعلومات الميتات بسهولة.
public override XmpPacketWrapper XmpData { get; set; }
قيمة الممتلكات
Methods
AddFrame()
بسهولة إضافة إطار جديد إلى نهاية مجموعة الإطار الخاصة بك مع هذاطريقة بسيطة. مثالية للمطورين الذين يرغبون في توسيعجمع الإطار ديناميكي للرسوم المتحركة مع صور متعددة الإطارات.سيتم إنشاء إطار جديد حسب حجم الصورة الحالية.
public ApngFrame AddFrame()
Returns
إطار 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
الصورة الصافية صفر.
AddFrame(كريستيانو، UINT)
توسيع مجموعة الإطار الخاصة بك بسهولة عن طريق إضافة إطار جديد إلىمع هذه الطريقة البصرية مثالية للمطورين الذين يرغبون في إثراءصور متعددة الإطارات.سيتم ملء محتويات الإطار الجديد من الصورة المحددة.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
صورة الإطار .
frameTime
uint
مدة الإطار، في مللي ثانية.
Exceptions
الصورة الصافية صفر.
AddPage(RasterImage)
إضافة صفحة جديدة إلى الصورة بسهولة باستخدام هذه الطريقة البصرية.مثالية للمطورين الذين يرغبون في توسيع محتوى ملفات الصور الخاصة بهم بشكل ديناميكي.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
الصفحة التي أضيفها
Exceptions
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
الخيارات الافتراضية
GetModifyDate(بول)
احصل بسرعة على التاريخ والوقت الذي تم فيه آخر تعديل لصورة المصدرمع هذه الطريقة سهلة الاستخدام مثالية للمطورين الذين يحتاجون إلى تتبع التغييراتوإدارة الموارد بشكل فعال.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
إذا قمت بتعيين “الحقيقة” تستخدم المعلومات من FileInfo كقيمة افتراضية.
Returns
تاريخ ووقت تم آخر تعديل لصورة المصدر.
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
الخيارات القائمة على إعدادات الملف الأصلي.
GetPagesAsEnumerable()
احصل على الصفحات كما هي قابلة للتعديل
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable <؛ Image >
الصفحات الخاصة بك كما هو قابل للتعديل.
Grayscale()
بسهولة تحويل الصورة إلى تمثيلها الرمادي باستخدام هذه الطريقة الحسية.مثالية للمطورين الذين يرغبون في تحويل صور الألوان إلى مقياس رمادي ، وتبسيطهاعملية التصور أو التحليل.
public override void Grayscale()
InsertFrame(إنت)
إدراج إطار جديد بسهولة في مجموعة الإطار الخاصة بك في الإطار المحددمع هذه الطريقة البصرية مثالية للمطورين الذين يبحثون عن السيطرة الدقيقة علىترتيب الإطارات في الرسوم المتحركة للصور متعددة الإطارات.سيتم إنشاء إطار جديد حسب حجم الصورة الحالية.
public ApngFrame InsertFrame(int index)
Parameters
index
int
من المؤشر .
Returns
إطار APNG الذي تم إنشاؤه حديثا
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(إنت، RasterImage)
إدخال إطار جديد في مجموعة الإطار الخاصة في المؤشر المحدد.سيتم ملء محتويات الإطار الجديد من الصورة المحددة.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
من المؤشر .
frameImage
RasterImage
صورة الإطار .
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
الصورة الصافية صفر.
InsertFrame(إنت، RasterImage، uint)
إدخال إطار جديد في مجموعة الإطار الخاصة في المؤشر المحدد.سيتم ملء محتويات الإطار الجديد من الصورة المحددة.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
من المؤشر .
frameImage
RasterImage
صورة الإطار .
frameTime
uint
مدة الإطار، في مللي ثانية.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
الصورة الصافية صفر.
PopFrameAt(إنت)
إزالة واسترداد الإطار في المؤشر المحدد من مجموعة الإطار الخاصة بكمع هذه الطريقة البصرية مثالية للمطورين الذين يبحثون عن إدارة فعالةمن الرموز في الرسوم المتحركة.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
من المؤشر .
Returns
إزالة إطار APNG.
Exceptions
index’ is less than 0.or
index’ 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 < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
RemoveFrameAt(إنت)
إزالة الإطار في المؤشر المحدد من مجموعة الإطار الخاصة بك دون انقطاعمع هذه الطريقة مثالية للمطورين الذين يبحثون عن إدارة سريعة من الإطاراتفي صورها المتعددة الإطاراتسيتم إزالة الإطار الذي سيتم إزالته.
public void RemoveFrameAt(int index)
Parameters
index
int
من المؤشر .
Exceptions
index’ is less than 0.or
index’ 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
الصورة صفر .
UpdateDimensions(إنت، إنت)
تحديث أبعاد الصورة.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض الصورة الجديد.
newHeight
int
ارتفاع الصورة الجديدة.
UpdateMetadata()
تحديث بيانات الصورة.
protected override void UpdateMetadata()