将动画.gif文件转换为.bmp条带

我想知道是否有人可以指导我或指导我使用.gif图像并将其转换为.bmp条形图像文件。

首先,你需要获得gif的大小。 然后你需要找出有多少帧。

之后,您需要创建一个新图像,其中Height =原始高度,Width = Frames * Gif Width。

然后你必须将原始Gif的帧粘贴到条带中,如下所示:帧N从像素N *宽度开始。

那就是你要做一个水平条带。


这是控制台应用程序的完整代码:

using System.Drawing; using System.Drawing.Imaging; foreach (var arg in args) { Image gif = Image.FromFile(arg); FrameDimension dim = new FrameDimension(gif.FrameDimensionsList[0]); int frames = gif.GetFrameCount(dim); Bitmap resultingImage = new Bitmap(gif.Width * frames, gif.Height); for (int i = 0; i < frames; i++) { gif.SelectActiveFrame(dim, i); Rectangle destRegion = new Rectangle(gif.Width * i, 0, gif.Width, gif.Height); Rectangle srcRegion = new Rectangle(0, 0, gif.Width, gif.Height); using (Graphics grD = Graphics.FromImage(resultingImage)) { grD.DrawImage(gif, destRegion, srcRegion, GraphicsUnit.Pixel); } } resultingImage.Save("res.png", ImageFormat.Png); } 

生成的图像保存在名为res.png的已编译控制台应用程序二进制文件目录中。 您可以使应用程序将生成的图像保存在源文件所在的位置,询问是否制作水平或垂直条带等。

使用Photoshop可以轻松完成图像条带(您可以获得免费试用版或Elements)

  1. 打开.gif文件 – Photoshop会将每个框架打开为一个图层
  2. 将canvas调整为(gif *图层的高度)像素
  3. 删除所有帧信息,保留图层
  4. 选择最后一层,然后将其移至最底层
  5. 选择所有图层,然后单击“分配垂直中心”。 现在你有一个完美排列的条带。

如果您使用的是Photoshop,则可以将其导出为BMP。 而已。

可行的方法是:

  1. 下载安装Easy GIF Animator
  2. 用它打开游览gif并将帧导出到单独的文件
  3. 下载并安装任何可以创建图层的程序(例如Photoshop CS3 Little)
  4. 创建一个新的文件宽度作为您的图片; 高度=你的照片的高度。 X张图片
  5. 复制每张照片。 作为新文件的图层并一个接一个地移动它们。
  6. 将其另存为.png文件
  7. 下载安装iPAQ 31x Image Explorer
  8. 打开你的.png
  9. 将其另存为rGB文件(正常的BMP可能不起作用)
  10. DONE!

也许这不是最简单的方法,但它提供了精确编辑的可能性,并允许您制作透明背景上的图标条(但不限于图标)

只需在Bitmap中加载.gif并将其保存在.bmp中。 如果你想导出.gif的帧我不知道如何做到这一点。 您可以查看www.eggheadcafe.com/articles/stripimagefromanimatedgif.asp ,它似乎正是您所寻找的。