Class ApngImage
ชื่อพื้นที่: Aspose.Imaging.FileFormats.Apng การประกอบ: Aspose.Imaging.dll (25.4.0)
API สําหรับไฟล์ภาพ Animated PNG (กราฟิกเครือข่ายพกพา Animated)รูปแบบเป็นโซลูชันที่หลากหลายสําหรับนักพัฒนาที่ต้องการรวมเนื้อหาที่เคลื่อนไหวลงในแอพพลิเคชันของพวกเขา 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 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(ApngOptions, int, int)
เริ่มต้นทํางานกับ Aspose.Imaging.FileFormats.Apng.ApngImage class โดย initializingตัวอย่างใหม่อย่างหนัก เหมาะสําหรับนักพัฒนาที่ต้องการเริ่มต้นใช้วัตถุ 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
ตรวจสอบได้อย่างง่ายดายจํานวนครั้งที่การเคลื่อนไหวของคุณไหลด้วยนี้คุณสมบัติที่หลากหลาย เหมาะสําหรับนักพัฒนาที่มองหาการควบคุมที่แม่นยําการเคลื่อนไหวพฤติกรรม, ด้วยการสนับสนุนสําหรับการล้อ infinite ในกรณีของหมายเลขเท่ากับ 0.
public int NumPlays { get; set; }
คุณสมบัติมูลค่า
PageCount
รับจํานวนหน้าทั้งหมดในไฟล์ภาพของคุณได้อย่างง่ายดายด้วยคุณสมบัตินี้เหมาะสําหรับนักพัฒนาที่ต้องการการเข้าถึงข้อมูลการคํานวณหน้าได้อย่างรวดเร็ว
public override int PageCount { get; }
คุณสมบัติมูลค่า
Pages
เข้าถึงหน้าของภาพของคุณได้อย่างง่ายดายด้วยคุณสมบัติที่สะดวกนี้เหมาะสําหรับนักพัฒนาที่กําลังมองหาการเข้าถึงได้อย่างรวดเร็วและง่ายต่อหน้าส่วนบุคคลสําหรับการจัดการ
public override Image[] Pages { get; }
คุณสมบัติมูลค่า
Image [ ]
XmpData
การจัดการ metadata 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 เป็น null
AddFrame(สื่อลามก, uint)
การขยายการเก็บรวบรวมเฟรมของคุณโดยการเพิ่มเฟรมใหม่ไปยังด้วยวิธีการที่ใช้งานง่ายนี้ เหมาะสําหรับนักพัฒนาที่กําลังมองหาการอุดมสมบูรณ์การเคลื่อนไหวของภาพหลายเฟรมเนื้อหาของกรอบใหม่จะถูกเติมจากภาพที่ระบุ
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
รูปภาพกรอบ
frameTime
uint
ความยาวของกรอบใน milliseconds
Exceptions
frameImage เป็น null
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
GAMMA สําหรับช่องแดงสีเขียวและสีน้ําเงิน
AdjustGamma(เฟอร์รี่, เฟอร์รี่, เฟอร์รี่)
ทําการแก้ไขแก๊มบนภาพโดยแยกต่างหากสําหรับช่องสีแดงสีเขียวและสีน้ําเงินใช้อัตราส่วนที่กําหนดเองด้วยวิธีการนี้แบบดั้งเดิม เหมาะสําหรับนักพัฒนาที่ต้องการเพื่อให้มีความสมดุลสีสดใสและปรับปรุงคุณภาพภาพของภาพ
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma สําหรับช่องแดง Coefficient
gammaGreen
float
Gamma สําหรับ Coefficient ช่องสีเขียว
gammaBlue
float
Gamma สําหรับ Coefficient ช่องสีฟ้า
BinarizeBradley(สอง, int)
การไบนารายการของภาพโดยใช้แอลกอริทึมการปรับตัวของ Bradley โดยใช้แอลกอริทึมภาพแบบบูรณาการ
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
ความแตกต่างของความสว่างระหว่างพิกเซลและเฉลี่ยของหน้าต่าง s x s ของพิกเซลมุ่งเน้นรอบพิกเซลนี้
windowSize
int
ขนาดหน้าต่าง s x s ของพิกเซลที่มุ่งเน้นรอบพิกเซลนี้
BinarizeFixed(บิต)
การไบนารีภาพได้อย่างง่ายดายโดยใช้ข้อ จํากัด ที่กําหนดไว้ด้วยนี้วิธีการวิสัยทัศน์ เหมาะสําหรับนักพัฒนาที่ต้องการแปลงภาพเป็นรูปแบบไบนารีทําความง่ายต่อการประมวลผลหรือวิเคราะห์เพิ่มเติม
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
หมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลขหมายเลข255 จะถูกกําหนดไว้กับมัน 0 อื่น ๆ
BinarizeOtsu()
ทําการไบนารายภาพบนภาพโดยใช้ Otsu ขนดกด้วยวิธีการที่ใช้งานง่ายนี้เหมาะสําหรับนักพัฒนาที่กําลังมองหาการตั้งค่าอัตโนมัติข้อ จํากัด ที่เหมาะสมสําหรับการแปลงภาพเป็นรูปแบบไบนารีเพิ่มความชัดเจนและความเหมาะสมสําหรับการวิเคราะห์เพิ่มเติม
public override void BinarizeOtsu()
Crop(Rectangle)
การปลูกภาพอย่างหนักเพื่อมุ่งเน้นไปที่พื้นที่ที่เฉพาะเจาะจงด้วยวิธีการที่ใช้งานง่ายนี้เหมาะสําหรับนักพัฒนาที่ต้องการปรับปรุงองค์ประกอบของภาพของพวกเขาอย่างไดนามิก
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
ตุ๊กตา
Crop(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(DitheringMethod, int, IColorPalette)
ใช้ผลกระทบไทเทเนียมได้อย่างง่ายดายกับภาพปัจจุบันด้วยวิธีการที่ใช้งานง่ายนี้เหมาะสําหรับนักพัฒนาที่ต้องการเพิ่มเนื้อเยื่อหรือลดการเชื่อมต่อสีในภาพของพวกเขา
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
วิธีการไดร์เวอร์
bitsCount
int
บิตสุดท้ายคํานวณสําหรับ dithering
customPalette
IColorPalette
แพลิเคชันที่กําหนดเองสําหรับ dithering
Filter(Rectangle, 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()
Retrieve options based on the original file settings effortlessly with this intuitive method.เหมาะสําหรับนักพัฒนาที่ต้องการเข้าถึงและใช้การตั้งค่าที่สอดคล้องกับคุณสมบัติจากไฟล์เดิมนี่อาจเป็นประโยชน์ในการรักษาความลึกและพารามิเตอร์อื่น ๆ ของภาพเดิมไม่เปลี่ยนแปลงตัวอย่างเช่นถ้าเราโหลดภาพ PNG สีดําและสีขาวด้วย 1 บิตต่อพิกเซลแล้วบันทึกมันโดยใช้Aspose.Imaging.DataStreamSupporter.Save(System.String) วิธีการภาพ PNG output กับ 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)
ใส่กรอบใหม่ลงในรวบรวมกรอบของตัวเองใน index ที่ระบุไว้เนื้อหาของกรอบใหม่จะถูกเติมจากภาพที่ระบุ
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 เป็น null
InsertFrame(int, RasterImage, uint)
ใส่กรอบใหม่ลงในรวบรวมกรอบของตัวเองใน index ที่ระบุไว้เนื้อหาของกรอบใหม่จะถูกเติมจากภาพที่ระบุ
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
ดัชนี
frameImage
RasterImage
รูปภาพกรอบ
frameTime
uint
ความยาวของกรอบใน milliseconds
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
frameImage เป็น null
PopFrameAt(int)
ลบและรับกรอบใน index ที่ระบุจากรวบรวมกรอบของคุณด้วยวิธีการใช้งานนี้ เหมาะสําหรับนักพัฒนาที่กําลังมองหาการจัดการที่มีประสิทธิภาพของเฟรมใน animations ของพวกเขา
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(int, ResizeType)
การปรับความสูงของภาพของคุณอย่างง่ายดายในขณะที่รักษาความสัมพันธ์ของภาพด้วยวิธีการที่ใช้งานง่ายนี้ เหมาะสําหรับนักพัฒนาที่ต้องการรีไซเคิลภาพดินไดนามิกในขณะที่รักษาความสัมพันธ์ด้านของพวกเขา
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
ความสูงใหม่
resizeType
ResizeType
ประเภทของ Resize
ResizeWidthProportionally(int, ResizeType)
การรีไซเคิลความกว้างของภาพอย่างสม่ําเสมอโดยใช้วิธีการที่ใช้งานง่ายนี้เหมาะสําหรับนักพัฒนาที่ต้องการรักษาความสัมพันธ์ด้านของภาพของพวกเขาในขณะที่การปรับขนาดของพวกเขา
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
ความกว้างใหม่
resizeType
ResizeType
ประเภทของ Resize
Rotate(บอล, บอล, สี)
รอบภาพรอบศูนย์กลางของมันโดยไม่ต้องพยายามด้วยวิธีการที่ใช้งานง่ายนี้เหมาะสําหรับนักพัฒนาที่ต้องการปรับทิศทางของภาพของพวกเขาอย่างไดนามิก
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
มุมหมุนในเกรด หมายเลขเชิงบวกจะหมุนตามชั่วโมง
resizeProportionally
bool
ถ้าตั้งค่าเป็น “จริง” คุณจะมีการเปลี่ยนแปลงขนาดภาพของคุณตามแนวตั้งหมุน (จุดมุม) projections ในกรณีอื่น ๆ ที่ปล่อยให้มิติไม่สัมผัสและเพียงภายใน เนื้อหาภาพจะหมุน
backgroundColor
Color
สีของพื้นหลัง
RotateFlip(RotateFlipType)
การจัดการกรอบที่ใช้งานได้อย่างง่ายดายโดยการหมุนฟิล์มหรือทั้งสองด้วยวิธีการที่ใช้งานง่ายนี้ เหมาะสําหรับนักพัฒนาที่ต้องการปรับแต่งรูปภาพกรอบแนวตั้ง
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
ประเภทหมุน flip
SaveData(Stream)
เก็บข้อมูล
protected override void SaveData(Stream stream)
Parameters
stream
Stream
กระแสเพื่อบันทึกข้อมูล
SetDefaultImage(RasterImage)
กําหนดภาพสกรูที่ระบุเป็นภาพเริ่มต้นสําหรับภาพเคลื่อนไหวปัจจุบันโดยไม่มีความพยายามกับวิธีการนี้ เหมาะสําหรับนักพัฒนาที่ต้องการปรับแต่งรูปแบบ default ในภาพเคลื่อนไหวของพวกเขา
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()
การอัปเดตของภาพ metadata
protected override void UpdateMetadata()