Выберите язык
  1. Products
  2. Aspose.Imaging
  3. Animation maker
clearbit icon

Создать анимацию для .NET

Купить за $99
Делиться
Логотип Instagram Логотип Dribbble Логотип Twitter Логотип YouTube

Как создать анимацию с использованием библиотеки .NET

Чтобы создать анимацию, мы будем использовать Aspose.Imaging for .NET API, который представляет собой многофункциональный, мощный и простой в использовании API для манипуляции изображениями для сетевой платформы.

1
Install-Package Aspose.Imaging

Создать анимационное изображение через .NET

Тебе нужно Aspose.Imaging Animation Maker для лимитной лицензии .NET чтобы опробовать код в вашей среде.

  1. Создайте анимированное изображение, используя экземпляр определенного класса Image.
  2. Установите параметры анимации
  3. Добавьте рамки
  4. Сохраните или экспортируйте изображение в желаемом анимированном формате, определяемом параметрами.

Системные требования

Просто убедитесь, что у вас есть следующие предварительные условия.

  • Microsoft Windows или совместимая ОС с .NET Framework, .NET Core и PHP
  • Среда разработки, такая как Microsoft Visual Studio
  • Aspose.Imaging for .NET DLL ссылается на ваш проект.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
 using Aspose.Imaging;
 using Aspose.Imaging.FileFormats.Gif;
 using Aspose.Imaging.FileFormats.Gif.Blocks;
 using Aspose.Imaging.ImageOptions;
 using Aspose.Imaging.Sources;

namespace CSharpTutorials
{
	class Program
	{
		static void Main(string[] args)
		{
			Metered metered = new Metered();
			metered.SetLicense("***********", // public key
							   "***********"  // private key
							  );

			// This code creates the animation from the image frames
			const int AnimationDuration = 1000;
			const int FrameDuration = 42;

			GifImage gifImage = null;
			try
			{
				foreach (var inputFilePath in Directory.GetFiles(inputFilesPath, fileMask))
				{
					RasterImage sourceImage = (RasterImage)Image.Load(inputFilePath);
					{
						if (gifImage == null)
						{
							GifOptions createOptions = new GifOptions
							{
								Source = new FileCreateSource(outputFilePath, false),
								BackgroundColor = Color.Transparent,
								FullFrame = true,
								LoopsCount = (int)(AnimationDuration / FrameDuration),
								Palette = ColorPaletteHelper.GetCloseImagePalette(sourceImage, 256)
							};

							gifImage = (GifImage)Image.Create(
											 createOptions,
									sourceImage.Width,
									sourceImage.Height);

							gifImage.InsertBlock(0, new GifGraphicsControlBlock());
							gifImage.SetFrameTime((ushort)FrameDuration);
							if (gifImage.PageCount > 0)
							{
								gifImage.RemoveBlock((IGifBlock)gifImage.Pages[0]);
							}
						}

						// add frame
						gifImage.AddPage(sourceImage);
					}
				}
			}
			finally
			{
				if (gifImage != null)
				{
					gifImage.Save();
					gifImage.Dispose();
				}
			}

		}
	}
}

Вы можете найти другие разрешенные случаи и примеры анимации. здесь