Class ApngImage
نام ها : Aspose.Imaging.FileFormats.Apng جمع آوری: Aspose.Imaging.dll (25.4.0)
API برای فایل تصویر PNG (Animated Portable Network Graphics)فرمت یک راه حل متنوع برای توسعه دهندگان است که به دنبال یکپارچه سازی هستند.محتوای انیمیشن در برنامه های خود را.این 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; }
ارزش املاک
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
frameImage صفر است.
AddFrame(آکاایران، UINT)
جمع آوری چارچوب خود را به طور ناگهانی گسترش دهید با اضافه کردن یک چارچوب جدید بهبا این روش بصری. ایده آل برای توسعه دهندگان به دنبال غنی سازی خود راانیمیشن های چندگانهمحتوای چارچوب جدید از تصویر مشخص شده پر خواهد شد.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
تصویر چارچوب
frameTime
uint
مدت زمان محدوده در میلی ثانیه
Exceptions
frameImage صفر است.
AddPage(RasterImage)
با استفاده از این روش بصری یک صفحه جدید به تصویر اضافه کنید.مناسب برای توسعه دهندگان که به دنبال گسترش محتوای فایل های تصویر خود به طور پویا هستند.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
صفحه ای برای اضافه کردن
Exceptions
page’ is null.
AdjustBrightness(int)
به راحتی روشنایی تصویر را با استفاده از این روش بصری تنظیم می کند،با استفاده از پارامتر روشنایی مشخص شده ایده آل برای توسعه دهندگان که به دنبال افزایش یا کاهش روشنایی کلی تصاویر به طور پویا هستند.
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(دوگانه، int)
دوگانه سازی یک تصویر با استفاده از الگوریتم محدودیت سازگار برادلی با استفاده از محدودیت تصویر یکپارچه
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
تفاوت در روشنایی بین پیکسل و میانگین یک پنجره 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(int، int، int، int)
با استفاده از این روش بصری، تصویر را در حالی که تغییرات را تنظیم می کنید، به طور ناخودآگاه کاشته کنید.ایده آل برای توسعه دهندگان که به دنبال کنترل دقیق فرآیند کاشت هستندبرای تمرکز بر مناطق خاص از تصاویر Apng خود را.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
سمت چپ تغییر می کند.
rightShift
int
تغییر صحیح است.
topShift
int
جایگزین بالا
bottomShift
int
تغییر پایین است.
Dither(بایگانی برچسب ها: IColorPalette)
به راحتی با استفاده از این روش بصری، اثرات دیتری را به تصویر فعلی اعمال کنید.ایده آل برای توسعه دهندگان که به دنبال اضافه کردن بافت یا کاهش بسته بندی رنگ در تصاویر خود هستند.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
روش دایتری
bitsCount
int
بوته های نهایی برای محاسبه شمارش می شوند.
customPalette
IColorPalette
پالت های معمولی برای دایتر کردن
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(int)
به راحتی یک چارچوب جدید را در مجموعه چارچوب خود در مشخص شده قرار دهید.با این روش بصری ایده آل برای توسعه دهندگان که به دنبال کنترل دقیق بر رویترتیب چارچوب ها در انیمیشن های آنها از تصاویر چند چارچوب.یک چارچوب جدید با توجه به اندازه تصویر فعلی ایجاد خواهد شد.
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.
frameImage صفر است.
InsertFrame(آکاایران، آکاایران، آکاایران)
چارچوب جدید را در مجموعه چارچوب خود در شاخص مشخص شده قرار دهید.محتوای چارچوب جدید از تصویر مشخص شده پر خواهد شد.
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.
frameImage صفر است.
PopFrameAt(int)
حذف و برداشتن چارچوب در شاخص مشخص شده از مجموعه چارچوب شمابا این روش بصری. مناسب برای توسعه دهندگان به دنبال مدیریت موثرو در انیمیشن های خود را.
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(int)
حذف چارچوب در شاخص مشخص شده از مجموعه چارچوب خود را به طور ناگهانیبا این روش. مناسب برای توسعه دهندگان به دنبال مدیریت دقیق از چارچوبدر عکس های چندگانهچارچوبی که حذف می شود از بین می رود.
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(int، int، ImageResizeSettings)
تصویر را بازسازی می کند.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
عرض جدید است.
newHeight
int
ارتفاع جدید است.
settings
ImageResizeSettings
تنظیمات بازسازی شده
ResizeHeightProportionally(بایگانی برچسب ها: Resize)
به سختی ارتفاع تصویر خود را تنظیم کنید در حالی که نسبت های آن را حفظ می کنیدبا این روش بصری. کامل برای توسعه دهندگان به دنبال بازسازی تصاویردر عین حال، در حالی که حفظ نسبت جنبه خود را.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
ارتفاع جدید است.
resizeType
ResizeType
نوع بازسازی است.
ResizeWidthProportionally(بایگانی برچسب ها: Resize)
نسبتاً عرض تصویر را بدون تلاش با این روش بصری بازگردانید.ایده آل برای توسعه دهندگان که به دنبال حفظ نسبت جنبه از تصاویر خود در حالی کهاندازه های خود را تنظیم کنید.
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(int، int)
ابعاد تصویر را به روز کنید
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض تصویر جدید
newHeight
int
ارتفاع تصویر جدید
UpdateMetadata()
به روز رسانی داده های تصویر
protected override void UpdateMetadata()