调整动画GIF图像大小的最佳方法是什么?

在我的项目中,我需要帮助人们缩小图像的大小。 我创建了一个图像调整大小的方法,几乎​​适用于图像格式,但不是动画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();
    }
    
    链接地址: http://www.djcxy.com/p/84149.html

    上一篇: What is the best way to resize an animated GIF image?

    下一篇: Custom Frame Duration for Animated Gif in Python ImageIO