我想知道是否有人可以指导我或指导我使用.gif图像并将其转换为.bmp条形图像文件。
答案 0 :(得分:5)
首先,你需要获得gif的大小。然后你需要找出有多少帧。
之后你需要创建一个高度=原始高度,宽度=帧* Gif宽度的新图像。
然后你必须将原始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
保存在已编译的控制台应用程序二进制文件目录中。您可以使应用程序将生成的图像保存在源文件所在的位置,询问是否制作水平或垂直条带等。
答案 1 :(得分:3)
使用Photoshop可以轻松完成图像条带(您可以获得免费试用版或元素)
如果您使用的是Photoshop,则可以将其导出为BMP。多数民众赞成。
答案 2 :(得分:2)
可行的方法是:
也许这不是最简单的方法,但它提供了精确编辑的可能性,并允许您制作透明背景上的图标条(但不限于图标)
答案 3 :(得分:-1)
只需在Bitmap中加载.gif并将其保存在.bmp中。如果你想导出.gif的帧我不知道怎么做。你可以查看这个www.eggheadcafe.com/articles/stripimagefromanimatedgif.asp,它似乎就是你要找的东西。