Class ApngImage
Název místa: Aspose.Imaging.FileFormats.Apng Shromáždění: Aspose.Imaging.dll (25.4.0)
API pro animované sítě PNG (Animated Portable Network Graphics) image fileFormát je všestranným řešením pro vývojáře, kteří chtějí integrovatanimovaný obsah do jejich aplikací.Tento API nabízí rozsáhléovládání rámových nastavení, které uživatelům umožňují definovat rámové specifikaceparametry, včetně délky trvání a nastavení souborů PNG.Nástroj bohatý na funkce, můžete bez námahy spravovat a optimalizovat displejsnímky APNG, dovoz a vývoz snímků, posílení dynamiky ainteraktivní aspekty vašich aplikac.
[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
Dědiční č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
Následující příklad ukazuje, jak exportovat formát souboru APNG z jiné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
}
Následující příklad ukazuje, jak exportovat do formátu souboru 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
}
Následující příklad ukazuje, jak vytvořit obrázek APNG z jiného obrázku na jedné stránce.
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(Výsledky, int, int)
Začněte pracovat s třídou Aspose.Imaging.FileFormats.Apng.ApngImage iniciovánímNový příklad bez námahy. ideální pro vývojáře, kteří chtějí začítPoužití ApngImage objektů rychle a efektivně ve svých projektech.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
Tyto možnosti.
width
int
A šířka.
height
int
na výšku.
Properties
DefaultFrameTime
Doba trvání předvoleného rámu se snadno upraví pro vytváření nových rámů sTato flexibilní vlastnost je ideální pro vývojáře, kteří se chtějí přizpůsobit časování rámuefektivně v jejich animacích.
public uint DefaultFrameTime { get; set; }
Hodnota nemovitosti
Examples
Následující příklad ukazuje, jak vytvořit obrázek APNG z jiného obrázku na jedné stránce.
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
Rychlý přístup k informacím o formátu souboru s touto výhodnou vlastnost.Ideální pro vývojáře, kteří potřebují získat podrobnosti o formátuJejich Apng soubory snadno.
public override FileFormat FileFormat { get; }
Hodnota nemovitosti
Interlaced
Rychle zjistit, zda je tento objekt Aspose.Imaging.FileFormats.Png.PngImage propojens touto pohodlnou vlastností. ideální pro vývojáře, kteří potřebují kontrolovatStát propojení PNG snímků snadno.
public bool Interlaced { get; }
Hodnota nemovitosti
NumPlays
Neúspěšně ovládat počet krát, kdy vaše animace běží s tímtouniverzální vlastnost. ideální pro vývojáře, kteří hledají přesnou kontrolu nadanimace chování, s podporou pro nekonečné looping v případěHodnoty se rovnají 0.
public int NumPlays { get; set; }
Hodnota nemovitosti
PageCount
Obnovte celkový počet stránek ve vašem obrázkovém souboru bez námahy s touto vlastnost.Ideální pro vývojáře, kteří potřebují rychlý přístup k informacím o počtu stránek.
public override int PageCount { get; }
Hodnota nemovitosti
Pages
Bezproblémový přístup k stránkám vašeho obrazu s touto pohodlnou vlastnost.Ideální pro vývojáře, kteří hledají rychlý a snadný přístup k jednotlivým stránkám pro manipulaci.
public override Image[] Pages { get; }
Hodnota nemovitosti
Image []a[]
XmpData
Snadno spravovat metadata XMP spojené s vašimi soubory pomocí tohotouniverzální vlastnost. ideální pro vývojáře, kteří hledají přístup nebo aktualizaciInformace o metadatech jsou snadn.
public override XmpPacketWrapper XmpData { get; set; }
Hodnota nemovitosti
Methods
AddFrame()
Snadno přidejte nový rám do konce vaší kolekce rámu s tímtoJednoduchá metoda. ideální pro vývojáře, kteří chtějí rozšířit svéDynamické shromažďování rámů pro animace s více rámovými obrázky.Nový rám bude vytvořen podle velikosti aktuálního obrazu.
public ApngFrame AddFrame()
Returns
Nově vytvořený APNG rám.
AddFrame(RasterImage)
Snadno rozšiřujte sbírku rámů tím, že do konce přidáte nový ráms touto intuitivní metodou. ideální pro vývojáře, kteří se snaží zlepšit svéAnimace multimediálních snímků dynamicky.Obsah nového rámu bude vyplněn z uvedeného obrázku.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Obrázek z rámu.
Examples
Následující příklad ukazuje, jak vytvořit obrázek APNG z jiného obrázku na jedné stránce.
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(Třída, uint)
Rozšiřujte svou sbírku rámů beze stopy přidáním nového rámu nas touto intuitivní metodou. ideální pro vývojáře, kteří chtějí obohatit svéAnimace multimediálních snímk.Obsah nového rámu bude vyplněn z uvedeného obrázku.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Obrázek z rámu.
frameTime
uint
Doba trvání rámu v milisekundách.
Exceptions
FrameImage je nulov.
AddPage(RasterImage)
Přidejte novou stránku do obrazu bez námahy pomocí této intuitivní metody.Ideální pro vývojáře, kteří se snaží dynamicky rozšířit obsah svých obrazových soubor.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Stránka k přidán.
Exceptions
page’ is null.
AdjustBrightness(Int)
Snadno přizpůsobte jasnost obrazu pomocí této intuitivní metody,používající specifikovaný jasnost parametr.Ideální pro vývojáře, kteří se chtějí dynamicky zvýšit nebo snížit celkovou jasnost obrázk.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Světelná hodnota.
AdjustContrast(flotila)
Zlepšuje kontrast Aspose.Imaging.Imageaby detaily vystupovaly s touto intuitivní metodou. ideální pro vývojářeSnaží se dynamicky zlepšit vizuální jasnost a dopad jejich obraz.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastní hodnota (v rozmezí [-100; 100])
AdjustGamma(flotila)
Aplikujte gamma korekci na obrázek pomocí koeficientu plavebního boduIdeální pro vývojáře, kteří hledají přesnou kontrolu barvyv jejich obrázcích.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Koeficient pro červené, zelené a modré kanály
AdjustGamma(plavba, plavba, plavba)
Výkon gamma korekce na obrázku samostatně pro červené, zelené a modré kanálypomocí individuálních koeficientů s touto intuitivní metodou. ideální pro vývojáře, kteří hledajíZlepšit barevnou rovnováhu a zlepšit vizuální kvalitu jejich obrázk.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma pro koeficient červeného kanálu
gammaGreen
float
Gamma pro koeficient zeleného kanálu
gammaBlue
float
Gamma pro koeficient modrého kanálu
BinarizeBradley(Dvojnásobný, int)
Binarizace obrazu pomocí Bradleyho adaptivního prahu algoritmu pomocí integrovaného prahu obrazu
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Rozdíl v jasu mezi pixelem a průměrem okna s x s pixelůSkládá se kolem tohoto pixelu.
windowSize
int
Velikost okna s x s pixely soustředěné kolem tohoto pixelu
BinarizeFixed(byte)
Neúspěšně binárně obrázek pomocí předdefinovaného prahu s tímtoIntuitivní metoda. ideální pro vývojáře, kteří se snaží převést obrázky do binární formy,Zjednodušit je pro další zpracování nebo analýzu.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Pokud odpovídající šedá hodnota pixelů je větší než hranici, hodnota255 bude k němu přiděleno, 0 jinak.
BinarizeOtsu()
Provádět binaryzace na obrázku pomocí Otsu hranice s touto intuitivní metodou.Ideální pro vývojáře, kteří se chtějí automaticky určit optimální prah proKonvertovat obrázky do binární formy, zlepšit jejich jasnost a vhodnost pro další analýzu.
public override void BinarizeOtsu()
Crop(Rectangle)
Neúspěšně pěstovat obrázek zaměřit se na konkrétní oblasti s touto intuitivní metodou.Ideální pro vývojáře, kteří se snaží vylepšit složení svých obrázků dynamicky.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
V pravém úhlu.
Crop(Int, int, int, int, int)
Vyrůstajte obrázek při úpravě změn bezohledně pomocí této intuitivní metody.Ideální pro vývojáře, kteří hledají přesnou kontrolu procesu sklizněsoustředit se na konkrétní oblasti jejich Apng obrázk.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Vlevo se měn.
rightShift
int
Na správnou změnu.
topShift
int
V horním směru.
bottomShift
int
V dolním směru.
Dither(DitheringMetoda, int, IColorPalette)
S touto intuitivní metodou lze snadno aplikovat dithering efekty na aktuální obraz.Ideální pro vývojáře, kteří chtějí přidat texturu nebo snížit barvy v jejich obrázcích.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Způsob rozptýlen.
bitsCount
int
Poslední bity počítají na dithering.
customPalette
IColorPalette
Závěrečná paleta pro dytován.
Filter(Rektangle, FilterOptionsBase)
Neúspěšně aplikujte filtry na určený rektál obrazu s tímtoIdeální pro vývojáře, kteří se snaží zlepšit nebo změnit konkrétní oblasti.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
V pravém úhlu.
options
FilterOptionsBase
Tyto možnosti.
GetDefaultOptions(Objekt[])
Opravte výchozí možnosti bez námahy pomocí této jednoduché metody.Ideální pro vývojáře, kteří hledají rychlý přístup k výchozím nastavení obrázku Apng.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]a[]
a argumenty.
Returns
Defaultní možnosti
GetModifyDate(Bolíček)
Rychle získat datum a čas, kdy byl obrázek zdroje naposledy upravens touto uživatelsky přívětivou metodou. ideální pro vývojáře, kteří potřebují sledovat změnya efektivně spravovat zdroje.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Pokud je nastaven na “pravdivý”, použijte informace z FileInfo jako výchozí hodnotu.
Returns
Datum a čas, kdy byl obrázek zdrojů naposledy změněn.
GetOriginalOptions()
Obnovte možnosti založené na původních nastavení souborů bez námahy s touto intuitivní metodou.Ideální pro vývojáře, kteří chtějí získat přístup a používat nastavení, které odpovídají vlastnostemz původního souboru.To může být užitečné pro udržení bitové hloubky a dalších parametrů původního obrazu nezměněných.Například, pokud nahráváme černobílý PNG obrázek s 1 bitem na pixel a pak ho uložíme pomocíMetoda Aspose.Imaging.DataStreamSupporter.Save(System.String) bude produkována výstupní PNG s 8-bitovým obrazem na pixel.Chcete-li se tomu vyhnout a ušetřit PNG obrázek s 1 bitem na pixel, použijte tuto metodu, abyste získali odpovídající možnosti ušetření a projít jedo metody Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) jako druhý parametr.
public override ImageOptionsBase GetOriginalOptions()
Returns
Možnosti založené na původních nastavení soubor.
GetPagesAsEnumerable()
Tyto stránky jsou považovány za sčítateln.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable < Image >
Své stránky jako sčítateln.
Grayscale()
S tímto intuitivním způsobem snadno přeměňte obraz na jeho grayscale reprezentaci.Ideální pro vývojáře, kteří se snaží převést barevné obrázky na šedé, zjednodušující jejichvizualizace nebo analýzy.
public override void Grayscale()
InsertFrame(Int)
Neúspěšně vložíte nový rám do vaší sbírky rámů na specifikovanémIdeální pro vývojáře, kteří hledají přesnou kontrolu nadUspořádání rámů v jejich animacích multi-frame obrázk.Nový rám bude vytvořen podle velikosti aktuálního obrazu.
public ApngFrame InsertFrame(int index)
Parameters
index
int
To je index.
Returns
Nově vytvořený APNG rám.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Články, RasterImage)
Vložte nový rám do vlastní sběru rámů na specifikovaném indexu.Obsah nového rámu bude vyplněn z uvedeného obrázku.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
To je index.
frameImage
RasterImage
Obrázek z rámu.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage je nulov.
InsertFrame(Článek, RasterImage, uint)
Vložte nový rám do vlastní sběru rámů na specifikovaném indexu.Obsah nového rámu bude vyplněn z uvedeného obrázku.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
To je index.
frameImage
RasterImage
Obrázek z rámu.
frameTime
uint
Doba trvání 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)
Odstranit a získat rám na specifikovaném indexu z vaší sbírky rámůs touto intuitivní metodou. ideální pro vývojáře, kteří hledají efektivní řízenív jejich animacích.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
To je index.
Returns
Odstraněný rám APNG.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Uvolňuje spravované zdroje. ujistěte se, že zde nejsou zveřejněny žádné nezveřejněné zdroje, protože mohou býtUž byl propuštěn.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Vyčistěte kolekci rámu odstraněním všech rámů pomocí této intuitivní metody.Ideální pro vývojáře, kteří se snaží resetovat nebo obnovit své animace.
public void RemoveAllFrames()
Examples
Následující příklad ukazuje, jak vytvořit obrázek APNG z jiného obrázku na jedné stránce.
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)
Odstraňte rám na specifikovaném indexu z vaší sbírky rámů bezohledněIdeální pro vývojáře, kteří hledají zjednodušené řízení rámůVe svých multi-frame obrázcích.Rám, který bude vymazán, bude vymazán.
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()
Odstranit předem nastavený výchozí obrázek pomocí této intuitivní metody.Ideální pro vývojáře, kteří se snaží resetovat nebo vymazat výchozí obrázek ve své animace.Po tom je výchozí obrázek prvním rámem v vlastní sbírce rámů.(Nemůže být odstraněn pomocí této metody).
public void ResetDefaultImage()
Resize(int, int, resizeType)
Obnovte obrázek bezohledně pomocí této intuitivní metody. Ideální pro vývojářeSnaží se dynamicky upravovat rozměry jejich obraz.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
A nová šířka.
newHeight
int
A nová výška.
resizeType
ResizeType
Tyto typy jsou recidivn.
Resize(snímky, snímky, snímky)
Odstraňuje obraz.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
A nová šířka.
newHeight
int
A nová výška.
settings
ImageResizeSettings
Zpětné nastaven.
ResizeHeightProportionally(Zpět, ResizeType)
Neúspěšně upravovat výšku obrazu při zachování jeho poměrůs touto intuitivní metodou. ideální pro vývojáře, kteří chtějí resize obrázkyDynamicky při zachování jejich aspektového poměru.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
A nová výška.
resizeType
ResizeType
Druh odrůdy.
ResizeWidthProportionally(Zpět, ResizeType)
S tímto intuitivním způsobem se bez námahy poměrně rozšiřuje šířka obrazu.Ideální pro vývojáře, kteří se snaží udržet aspektní poměr svých obrázků, zatímcopřizpůsobení jejich rozměr.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
A nová šířka.
resizeType
ResizeType
Druh odrůdy.
Rotate(plavba, bool, barva)
Obrátit obraz kolem jeho centra bez námahy s touto intuitivní metodou.Ideální pro vývojáře, kteří se snaží dynamicky přizpůsobit orientaci svých obrázk.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Otevírací úhel v stupních. pozitivní hodnoty se otáčí po hodin.
resizeProportionally
bool
Pokud je nastaven na “skutečný”, budete mít velikost obrazu změněna v závislosti na rotačních rektangle (kornové body) projekce v jiném případě, které zanechávají rozměry nedotčené a pouzevnitřní obsah obrazu jsou rotačn.
backgroundColor
Color
Barva pozad.
RotateFlip(RotateFlipType)
Neúspěšně manipulovat aktivním rámem otáčením, flippingem nebo obojís touto intuitivní metodou. ideální pro vývojáře, kteří se chtějí přizpůsobitObrazový rám orientace.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Typ rotujícího flip.
SaveData(Stream)
Ušetříme data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Příliv pro ukládání dat.
SetDefaultImage(RasterImage)
Nastavení specifikovaného rasterového obrazu jako výchozího obrazu pro aktuální animacebezproblémové s touto metodou. ideální pro vývojáře, kteří se snaží přizpůsobitPředběžný obrázek v jejich animacích.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
To je obraz.
Exceptions
Obrázek je nulov.
UpdateDimensions(a int, int)
Aktualizace rozměrů obrazu.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Nové obrazové šířky.
newHeight
int
Nová výška obrazu.
UpdateMetadata()
Aktualizujte metadata snímku.
protected override void UpdateMetadata()