在我的项目中,我需要帮助人们减少图像的大小。我已经创建了一个图像调整大小的方法,它适用于几乎图像格式,但没有动画GIF !!
因此,我希望有人帮助我做到这一点:)
我设计了如何调整动画GIF大小的过程:
以字节数据=>
将GIF框架拆分为Image array =>
调整数组的每张图片的大小=>
将这些图像合并为一个GIF图像=>
将GIF图像转换为字节数据=>
将字节数据上传到云端
我不是在问这个代码是什么,但是问这是否可能?
我的设计代码:
static void Main(string[] args)
{
Image gifimage = getImageFromByte(); //created
Image[] images = GetFramesFromAnimatedGIF(gifimage); //creating
for (int i=0; i< images.Length;i++)
{
images[i] = resize(img, size); //created
}
Image combinedImg = combineImgArrToImg(images); // not create yet
byte[] imgData = convertImgToData(combinedImg); // created
uploadImg(imgData); //created
}
关于GetFramesFromAnimatedGIF方法,它是:
public static Image[] GetFramesFromAnimatedGIF(Image IMG)
{
List<Image> IMGs = new List<Image>();
int Length = IMG.GetFrameCount(FrameDimension.Time);
for (int i = 0; i < Length; i++)
{
IMG.SelectActiveFrame(FrameDimension.Time, i);
IMGs.Add(new Bitmap(IMG));
}
return IMGs.ToArray();
}