下载动画GIF

时间:2013-03-29 23:12:10

标签: c# .net gif animated

我正在使用以下内容从网上抓取动画gif。但是,在将其保存到磁盘后,我丢失了gif中的帧,并且它不再具有动画效果。不确定问题是否在下面的方法中,或者是否是在我保存它的时候,但是对于为什么以下方法不起作用的任何反馈意见。该方法正在运行 - 只是没有创建一个合适的动画gif文件。

public Image getImage(String url)
{
    HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
    HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
    Stream stream = httpWebReponse.GetResponseStream();
    return Image.FromStream(stream, true, true);
}

Image im = getImage(url)
im.Save(pth,ImageFormat.Gif);

1 个答案:

答案 0 :(得分:7)

您不应该从流(it will only store the first frame)创建Image。相反,您应该使用Stream.CopyTo methodStream的内容直接写入磁盘,以将内容复制到为目标文件创建的FileStream

using (Stream stream = httpWebReponse.GetResponseStream())
using (FileStream fs = File.Create(path))
{
    stream.CopyTo(fs);
}