אנימציה PNG(גרפיקת רשת ניידת) היא הרחבה לפורמט PNG לשילוב האנימציות. בדיוק כמו קובצי GIF מונפשים, פורמט APNG משמש להצגת האנימציות. יתרון של APNG על פני GIF הוא שהוא תומך בשקיפות של 24 סיביות ואילו GIF תומך רק ב-8 סיביות. יתר על כן, APNG מספק אנימציה חלקה יותר בהשוואה ל-GIF מונפש. במאמר זה, אני אראה לך כיצד ליצור את תמונות ה-PNG המונפשות (APNG) מתמונה או Tiff מרובה עמודים ולייצא APNG ל-GIF מונפש באופן פרוגרמטי באמצעות C# (או VB.NET).
- .NET API עבור תמונות PNG מונפשות
- צור PNG מונפש מתמונה
- צור PNG מונפש מקובץ Tiff מרובה עמודים
- ייצא PNG מונפש ל-GIF מונפש
.NET API עבור תמונות PNG מונפשות
Aspose מציעה את .NET Imaging API ליצירה או מניפולציה של פורמטים פופולריים של תמונה, כולל PNG מונפש באמצעות C# או VB.NET. אנו נמנף את היכולות של Aspose.Imaging עבור .NET ליצור או לייצא תמונות PNG מונפשות. אתה יכול להוריד את ה-DLL של ה-API או להתקין אותו בתוך יישום ה-NET שלך באמצעות NuGet.
PM> Install-Package Aspose.Imaging
צור PNG מונפש מתמונה באמצעות C#
Aspose.Imaging עבור .NET מאפשר לך ליצור PNG מונפש מתמונה בת עמוד בודד כגון PNG על ידי הגדרת האנימציה ומשך הפריימים המותאמים אישית. להלן השלבים לביצוע פעולה זו.
- טען את תמונת ה-PNG לאובייקט RasterImage באמצעות שיטת Image.Load(String).
- הגדר מאפיינים של ApngOptions לפי הדרישות שלך.
- השתמש במחלקה ApngImage כדי ליצור את ה-PNG המונפש.
- עדכן את הגמא של כל מסגרת באמצעות שיטת ApngFrame.AdjustGamma(Single).
- צור PNG מונפש באמצעות שיטת ApngImage.Save().
דוגמת הקוד הבאה מראה כיצד ליצור PNG מונפש (APNG) מתמונת PNG באמצעות C#.
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))
{
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
apngImage.RemoveAllFrames();
// הוסף מסגרת ראשונה
apngImage.AddFrame(sourceImage, FrameDuration);
// להוסיף מסגרות ביניים
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage, FrameDuration);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// הוסף מסגרת אחרונה
apngImage.AddFrame(sourceImage, FrameDuration);
apngImage.Save();
}
}
צור PNG מונפש מ-Tiff מרובה עמודים באמצעות C#
אתה יכול גם להשתמש בקובץ Tiff מרובה עמודים כדי ליצור את ה-PNG המונפש על ידי הגדרת זמן הפריימים הרצוי. להלן השלבים ליצירת PNG מונפש מקובץ Tiff.
- טען תמונת Tiff בתוך אובייקט במחלקה Image.
- שמור Tiff כ-APNG בשיטת Image.Save(String, ImageOptionsBase).
דוגמת הקוד הבאה מראה כיצד ליצור PNG מונפש מקובץ Tiff באמצעות C#.
// דוגמה 4. ייצוא לפורמט קובץ APNG מפורמט אחר שאינו מונפש
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("img4.tif")) {
// הגדרת משך ברירת המחדל של המסגרת
image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
}
מקור Tiff
PNG מונפש

ייצא PNG מונפש ל-GIF מונפש באמצעות C#
אתה יכול גם לייצא תמונת PNG מונפשת ל-GIF מונפש שווה ערך. להלן השלבים לייצוא APNG ל-GIF.
- טען את ה-PNG המונפש לאובייקט תמונה.
- ייצא APNG ל-GIF בשיטת Image.Save(String, GifOptions()).
דגימת הקוד הבאה מראה כיצד לייצא PNG מונפש ל-GIF באמצעות C#.
using System.Diagnostics;
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
using (Image image = Image.Load("elephant.png")) {
// בודק את סוג התמונה הנטענת
Debug.Assert(image is ApngImage);
// שמור באותו פורמט
image.Save("elephant_same_format.png");
// ייצא לפורמט המונפש האחר
image.Save("elephant.png.gif", new GifOptions());
}
מקור אנימציה PNG

GIF מונפש

סיכום
במאמר זה, למדת כיצד ליצור PNG מונפש ממקורות שונים באמצעות C#. המדריך צעד אחר צעד ודוגמאות הקוד הדגימו כיצד ליצור PNG מונפש מ-PNG של עמוד אחד ו-Tiff מרובה עמודים וכן לייצא PNG מונפש ל-GIF מונפש באמצעות C#. אתה יכול ללמוד עוד על מניפולציה של תמונות APNG באמצעות התיעוד של ה-API.