Class ApngImage
Pôvodný názov: Aspose.Imaging.FileFormats.Apng Zhromaždenie: Aspose.Imaging.dll (25.4.0)
API pre animované PNG (Animated Portable Network Graphics) obrázkový súborFormát je všestranné riešenie pre vývojárov, ktorí chcú integrovaťanimovaný obsah do ich aplikácií. táto API ponúka rozsiahleovládanie rámových nastavení, ktoré používateľom umožňujú definovať rámové špecifikáparametre, vrátane dĺžky prúdu a nastavenia súborov PNG.funkčný nástroj, môžete bez námahy spravovať a optimalizovať displejAPNG obrázky, import a export obrázkov, zlepšenie dynamiky ainteraktívne aspekty vašich aplikácií.
[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
Z dedičných členov
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
Nasledujúci príklad ukazuje, ako exportovať formát súboru APNG z iného neanimovaného multi-stránkového formátu.
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
}
Nasledujúci príklad ukazuje, ako exportovať do formátu súboru 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
}
Nasledujúci príklad ukazuje, ako vytvoriť obrázok APNG z iného rasterového jednorazového obrazu.
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(Spoločnosť Int, Int)
Začnite pracovať s triedou Aspose.Imaging.FileFormats.Apng. ApngImage iniciovanímnový príklad bez námahy. Perfektné pre vývojárov, ktorí chcú začaťPoužitie ApngImage objektov rýchlo a efektívne vo svojich projektoch.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
a možnosťami .
width
int
Na šírku .
height
int
na výšku .
Properties
DefaultFrameTime
Ľahko nastaviť predvolenú dĺžku rámu na vytvorenie nových rámov sTáto flexibilná vlastnosť je ideálna pre vývojárov, ktorí sa snažia prispôsobiť časovanie rámuEfektívne v ich animáciách.
public uint DefaultFrameTime { get; set; }
Hodnota nehnuteľnosti
Examples
Nasledujúci príklad ukazuje, ako vytvoriť obrázok APNG z iného rasterového jednorazového obrazu.
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
Rýchly prístup k informáciám o formáte súboru s touto pohodlnou vlastnosťou.Ideálne pre vývojárov, ktorí potrebujú získať podrobnosti o formátez ich Apng súborov ľahko.
public override FileFormat FileFormat { get; }
Hodnota nehnuteľnosti
Interlaced
Rýchlo určiť, či je tento objekt Aspose.Imaging.FileFormats.Png. PngImage prepojenýs touto pohodlnou vlastnosťou. ideálne pre vývojárov, ktorí potrebujú skontrolovaťprepojenie stavu PNG obrázkov ľahko.
public bool Interlaced { get; }
Hodnota nehnuteľnosti
NumPlays
Bez námahy ovládajte počet krát, keď vaše animácie prechádzajú s týmtoVhodné pre vývojárov, ktorí hľadajú presnú kontrolu nadanimácia správanie, s podporou pre nekonečný looping v prípadehodnota je rovnaká ako 0.
public int NumPlays { get; set; }
Hodnota nehnuteľnosti
PageCount
Získajte celkový počet stránok vo vašom obrázkovom súbore bez námahy s touto vlastnosťou.Ideálne pre vývojárov, ktorí potrebujú rýchly prístup k informáciám o počte stránok.
public override int PageCount { get; }
Hodnota nehnuteľnosti
Pages
Bezproblémový prístup k stránkam vášho obrazu s touto pohodlnou vlastnosťou.Ideálne pre vývojárov, ktorí hľadajú rýchly a jednoduchý prístup k jednotlivým stránkam na manipuláciu.
public override Image[] Pages { get; }
Hodnota nehnuteľnosti
Image []
XmpData
Bezproblémovo spravovať metadata XMP spojené s vašimi súbormi pomocou tohtoVhodné pre vývojárov, ktorí hľadajú prístup alebo aktualizáciuMetodické informácie s ľahkosťou.
public override XmpPacketWrapper XmpData { get; set; }
Hodnota nehnuteľnosti
Methods
AddFrame()
Jednoducho prilepte nový rám na koniec svojej zbierky rámov s týmtojednoduchá metóda. ideálne pre vývojárov, ktorí chcú rozšíriť svojeZbieranie rámov dynamicky pre animácie s multi-frame obrázky.Nový rám bude vytvorený podľa veľkosti aktuálneho obrazu.
public ApngFrame AddFrame()
Returns
Neskôr vytvorený APNG rám.
AddFrame(RasterImage)
Bezproblémovo rozšíriť zbierku rámov pridaním nového rámu na koniecs touto intuitívnou metódou. Perfektné pre vývojárov, ktorí sa snažia zlepšiť ichanimácie multi-frame obrázkov dynamicky.Obsah nového rámu bude vyplnený z uvedeného obrazu.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Obrázok rámu .
Examples
Nasledujúci príklad ukazuje, ako vytvoriť obrázok APNG z iného rasterového jednorazového obrazu.
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 je nulový.
AddFrame(Nádherný, uint)
Rozširujte svoju zbierku rámov bezchybne prilepením nového rámu nas touto intuitívnou metódou. ideálne pre vývojárov, ktorí chcú obohatiť svojeanimácie multidisciplinárnych obrazov.Obsah nového rámu bude vyplnený z uvedeného obrazu.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Obrázok rámu .
frameTime
uint
Doba trvania rámu, v milisekundách.
Exceptions
FrameImage je nulový.
AddPage(RasterImage)
Pridajte novú stránku do obrazu bez námahy pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí sa snažia dynamicky rozšíriť obsah svojich obrázkových súborov.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Stránka na pridanie.
Exceptions
page’ is null.
AdjustBrightness(int)
Ľahko prispôsobiť jas " obrazu pomocou tejto intuitívnej metódy, pomocou špecifikovaného parametra jasu. ideálny pre vývojárov, ktorí sa snažia dynamicky zlepšiť alebo zmiznúť celkovú jasnosť obrázkov.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Hodnoty jasnosti .
AdjustContrast(flotila)
Zlepšenie kontrastu Aspose.Imaging.Imageaby podrobnosti vystupovali s touto intuitívnou metódou. ideálne pre vývojárovSnaží sa dynamicky zlepšiť vizuálnu jasnosť a vplyv ich obrazov.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
kontrastná hodnota (v rozmedzí [-100; 100])
AdjustGamma(flotila)
Aplikujte gamma korekciu na obrázok pomocou koeficientu bodu plavbyIdeálne pre vývojárov, ktorí hľadajú presnú kontrolu fariebv ich obrazoch.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma pre červené, zelené a modré kanály koeficient
AdjustGamma(plavba, plavba, plavba)
Vykonajte gamma korekciu na obrázku samostatne pre červené, zelené a modré kanálypomocou individuálnych koeficientov s touto intuitívnou metódou. ideálne pre vývojárov, ktorí hľadajúvyrovnať farebnú rovnováhu a zlepšiť vizuálnu kvalitu ich obrazov.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma pre červený kanál koeficient
gammaGreen
float
Gamma pre zelený kanál koeficient
gammaBlue
float
Gamma pre modrý kanál koeficient
BinarizeBradley(dvojnásobný, int)
Binarizácia obrazu pomocou adaptívneho prahového algoritmu Bradleyho pomocou integrovaného prahového obrazu
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Rozdiel jasu medzi pixelom a priemerným oknom s x s pixlovSústrediť sa okolo tohto pixel.
windowSize
int
Veľkosť okna s x s pixelov sústredených okolo tohto pixelov
BinarizeFixed(byte)
Bez námahy binárne obrázok pomocou preddefinovaného prahu s týmtoIntuitívna metóda. ideálny pre vývojárov, ktorí sa snažia premeniť obrázky na binárne tvary,Zjednodušovať ich pre ďalšie spracovanie alebo analýzu.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Ak je príslušná šedá hodnota pixelov väčšia ako hranica, hodnotou255 bude k nemu pridelených, 0 inak.
BinarizeOtsu()
Vykonajte binarizáciu na obrázku pomocou Otsu hranice s touto intuitívnou metódou.Ideálne pre vývojárov, ktorí sa snažia automaticky určiť optimálny prah naKonvertovať obrázky do binárnej formy, zvyšovať ich jasnosť a vhodnosť pre ďalšiu analýzu.
public override void BinarizeOtsu()
Crop(Rectangle)
Bez námahy pestovať obraz so zameraním na konkrétne oblasti s touto intuitívnou metódou.Ideálne pre vývojárov, ktorí sa snažia dynamicky zdokonaľovať zloženie svojich obrazov.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
v pravom rohu.
Crop(int, int, int, int, int)
Výroba obrazu pri prispôsobovaní sa pohybu bezchybne s touto intuitívnou metódou.Ideálne pre vývojárov, ktorí hľadajú presnú kontrolu nad vykopávacím procesomso zameraním na konkrétne oblasti ich Apng obrázkov.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Vľavo sa mení.
rightShift
int
Príslušná zmena .
topShift
int
Najvyššia výmena.
bottomShift
int
V dolnej posune.
Dither(DitheringMetóda, int, IColorPalette)
Ľahko aplikovať efekty na aktuálny obrázok pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí chcú pridať textúru alebo znížiť farebné prepojenie vo svojich snímkach.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Metóda rozptýlenia .
bitsCount
int
Posledné bity počítajú na dithering.
customPalette
IColorPalette
Zvyčajná paleta pre dithering.
Filter(Rectangle, FilterOptionsBase)
Bezproblémovo aplikujte filtre na špecifikovaný rektál obrazu s týmtoIntuitívna metóda Ideálna pre vývojárov, ktorí sa snažia zlepšiť alebo zmeniť konkrétne oblasti.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
v pravom rohu.
options
FilterOptionsBase
a možnosťami .
GetDefaultOptions(objekty[])
Obnoviť predvolené možnosti bez námahy s touto jednoduchou metódou.Ideálne pre vývojárov, ktorí hľadajú rýchly prístup k predvoleným nastavením obrazu Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Sú to argumenty.
Returns
Predvolené možnosti
GetModifyDate(bool)
Rýchlo získajte dátum a čas, kedy bol zdrojový obrázok naposledy upravenýIdeálne pre vývojárov, ktorí potrebujú sledovať zmenyEfektívne spravovať zdroje.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Ak je nastavený na “skutočný”, použite informácie z programu FileInfo ako predvolenú hodnotu.
Returns
Dátum a čas, kedy bol obrázok zdroja naposledy upravený.
GetOriginalOptions()
Retrieve možnosti založené na pôvodných nastaveniach súboru bez námahy s touto intuitívnou metódou.Ideálne pre vývojárov, ktorí hľadajú prístup a používanie nastavení, ktoré sú v súlade s vlastnosťamiz pôvodného súboru.To môže byť užitočné udržať bitovú hĺbku a ďalšie parametre pôvodného obrazu nezmenené.Napríklad, ak nahrávame čiernobiely PNG obrázok s 1 bitom na pixel a potom ho uložíme pomocouAspose.Imaging.DataStreamSupporter.Save(System.String) metóda, bude produkovaný výstupný PNG obrázok s 8-bitom na pixel.Aby ste sa tomu vyhli a ušetrili PNG obrázok s 1 bitom na pixel, použite túto metódu, aby ste získali príslušné možnosti ušetrenia a prešli ichna metódu Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) ako druhý parameter.
public override ImageOptionsBase GetOriginalOptions()
Returns
Možnosti založené na pôvodných nastaveniach súboru.
GetPagesAsEnumerable()
Získajte stránky ako číslovateľné.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Vlastné stránky ako číslovateľné.
Grayscale()
Ľahko premeniť obrázok na jeho grayscale reprezentáciu pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí sa snažia premeniť farebné obrázky na šedé, zjednodušujú ichvizualizácie alebo analýzy.
public override void Grayscale()
InsertFrame(int)
Bezproblémovo vložiť nový rám do vašej zbierky rámov na špecifikovanomIdeálne pre vývojárov, ktorí hľadajú presnú kontrolu nadusporiadanie rámov v ich animáciách multi-frame obrázkov.Nový rám bude vytvorený podľa veľkosti aktuálneho obrazu.
public ApngFrame InsertFrame(int index)
Parameters
index
int
To je index.
Returns
Neskôr vytvorený APNG rám.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Názov: RasterImage)
Vložte nový rám do vlastnej zbierky rámov na špecifikovanom indexe.Obsah nového rámu bude vyplnený z uvedeného obrazu.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
To je index.
frameImage
RasterImage
Obrázok rámu .
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage je nulový.
InsertFrame(Inštalácia, RasterImage, Uint)
Vložte nový rám do vlastnej zbierky rámov na špecifikovanom indexe.Obsah nového rámu bude vyplnený z uvedeného obrazu.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
To je index.
frameImage
RasterImage
Obrázok rámu .
frameTime
uint
Doba trvania rámu, v milisekundách.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage je nulový.
PopFrameAt(int)
Odstrániť a získať rám na špecifikovanom indexe z vašej zbierky rámovs touto intuitívnou metódou. ideálne pre vývojárov hľadajúcich efektívne riadeniev ich animáciách.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
To je index.
Returns
Odstránený rám APNG.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Uvoľňuje spravované zdroje. uistite sa, že žiadne nezamestnané prostriedky nie sú uvoľnené tu, pretože môžu byťUž bola prepustená.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Odstráňte zbierku rámu odstránením všetkých rámov pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí sa snažia resetovať alebo obnoviť svoje animácie.
public void RemoveAllFrames()
Examples
Nasledujúci príklad ukazuje, ako vytvoriť obrázok APNG z iného rasterového jednorazového obrazu.
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)
Odstráňte rám na špecifikovanom indexe z vašej zbierky rámov bezodkladneIdeálne pre vývojárov, ktorí hľadajú zjednodušené riadenie rámovv ich multimediálnych snímkach.Rám, ktorý sa má odstrániť, bude odstránený.
public void RemoveFrameAt(int index)
Parameters
index
int
To je index.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Odstráňte predtým nastavený predvolený obrázok pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí sa snažia obnoviť alebo vymazať predvolený obrázok vo svojej animácii.Po tom je predvolený obrázok prvým rámom v samotnej zbierke rámov.(Nie je možné ho odstrániť pomocou tejto metódy).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Obnoviť obrázok bezchybne s touto intuitívnou metódou. Perfektné pre vývojárovSnaží sa dynamicky prispôsobiť rozmery svojich obrazov.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
resizeType
ResizeType
To je reza typ.
Resize(int, int, ImageResizeSettings)
Obnoviť obrázok.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
a novú šírku.
newHeight
int
a novú výšku.
settings
ImageResizeSettings
Odstránené nastavenia .
ResizeHeightProportionally(Inštalácia, ResizeType)
Bezproblémovo prispôsobte výšku vášho obrazu pri zachovaní jeho proporciís touto intuitívnou metódou. Perfektné pre vývojárov, ktorí hľadajú resize obrázkovdynamicky pri zachovaní ich aspektového pomeru.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
a novú výšku.
resizeType
ResizeType
Druh revízie .
ResizeWidthProportionally(Inštalácia, ResizeType)
Proporcionálne obráťte šírku obrazu bez námahy pomocou tejto intuitívnej metódy.Ideálne pre vývojárov, ktorí sa snažia udržať aspektový pomer svojich obrazov, zatiaľ čoprispôsobenie ich rozmerov.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
a novú šírku.
resizeType
ResizeType
Druh revízie .
Rotate(Float, bool, farba)
Obráťte obrázok okolo svojho centra bez námahy týmto intuitívnym spôsobom.Ideálne pre vývojárov, ktorí sa snažia dynamicky prispôsobiť orientáciu svojich obrazov.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Zvuk sa otáča v stupňoch. pozitívne hodnoty sa otáčajú hodinovo.
resizeProportionally
bool
v prípade nastavenia na “skutočné” sa zmení veľkosť obrazu podľa rotujúcich rektangulárnych (kornových bodov) projekcií v inom prípade, ktoré zanechávajú rozmery bez dotyku a ibavnútorné obrázkové obsahu sa rotuje.
backgroundColor
Color
Farba z pozadia.
RotateFlip(RotateFlipType)
Neúspešne manipulovať aktívnym rámom otáčaním, flippingom alebo obomas touto intuitívnou metódou. ideálne pre vývojárov, ktorí sa snažia prispôsobiťObrázkové rámové orientácie.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Rotačný typ flip.
SaveData(Stream)
Šetrí sa dáta.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Stream na ukladanie údajov.
SetDefaultImage(RasterImage)
Nastaviť špecifikovaný obraz rastu ako predvolený obrázok pre aktuálnu animáciubez námahy s touto metódou. ideálne pre vývojárov, ktorí sa snažia prispôsobiťpredvolený obrázok vo svojich animáciách.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
a obrázok .
Exceptions
Obrázok je nulový.
UpdateDimensions(a int, int)
Aktualizujte rozmery obrazu.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nový obrázok šírka.
newHeight
int
Nová výška obrazu.
UpdateMetadata()
Aktualizácia obrazu metadata.
protected override void UpdateMetadata()