AddFrame
Inhalt
[
Ausblenden
]AddFrame()
Fügt einen neuen Rahmen am Ende der eigenen Rahmensammlung hinzu. Ein neuer Rahmen wird entsprechend der Größe des aktuellen Bildes erstellt.
public ApngFrame AddFrame()
Rückgabewert
Der neu erstellte APNG-Frame.
Siehe auch
- class ApngFrame
- class ApngImage
- namensraum Aspose.Imaging.FileFormats.Apng
- Montage Aspose.Imaging
AddFrame(RasterImage)
Fügt einen neuen Rahmen am Ende der eigenen Rahmensammlung hinzu. Der Inhalt des neuen Rahmens wird aus dem angegebenen Bild gefüllt.
public void AddFrame(RasterImage frameImage)
Parameter | Typ | Beschreibung |
---|---|---|
frameImage | RasterImage | Das Rahmenbild. |
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | frameImage ist null. |
Beispiele
Das folgende Beispiel zeigt, wie Sie ein APNG-Bild aus einem anderen einseitigen Rasterbild erstellen.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 Sek
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))
{
// Es ist möglich, dort die Standard-Frame-Zeit des Bildes einzustellen: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Bereinigen, da das Bild standardmäßig einen Frame enthält
apngImage.RemoveAllFrames();
// ersten Frame hinzufügen
apngImage.AddFrame(sourceImage);
// Zwischenframes hinzufügen
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);
}
// letzten Frame hinzufügen
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Siehe auch
- class RasterImage
- class ApngImage
- namensraum Aspose.Imaging.FileFormats.Apng
- Montage Aspose.Imaging
AddFrame(RasterImage, uint)
Fügt einen neuen Rahmen am Ende der eigenen Rahmensammlung hinzu. Der Inhalt des neuen Rahmens wird aus dem angegebenen Bild gefüllt.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameter | Typ | Beschreibung |
---|---|---|
frameImage | RasterImage | Das Rahmenbild. |
frameTime | UInt32 | Die Framedauer in Millisekunden. |
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | frameImage ist null. |
Siehe auch
- class RasterImage
- class ApngImage
- namensraum Aspose.Imaging.FileFormats.Apng
- Montage Aspose.Imaging