DefaultFrameTime
ApngImage.DefaultFrameTime property
الحصول على أو تعيين مدة الإطار الافتراضية . يُستخدم عند إنشاء إطارات جديدة .
public uint DefaultFrameTime { get; set; }
Property_Value
مدة الإطار الافتراضية بالملي ثانية.
أمثلة
يوضح المثال التالي كيفية إنشاء صورة APNG من صورة نقطية أخرى أحادية الصفحة.
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 ثانية
const int FrameDuration = 70; // 70 مللي ثانية
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))
{
// من الممكن ضبط وقت الإطار الافتراضي للصورة هناك: apngImage.DefaultFrameTime = (uint) FrameDuration ;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// التنظيف لأن الصورة تحتوي على إطار واحد افتراضيًا
apngImage.RemoveAllFrames();
// إضافة الإطار الأول
apngImage.AddFrame(sourceImage);
// إضافة إطارات وسيطة
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);
}
// إضافة الإطار الأخير
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
أنظر أيضا
- class ApngImage
- مساحة الاسم Aspose.Imaging.FileFormats.Apng
- المجسم Aspose.Imaging