相关疑难解决方法(0)

在C#中,也许这是Image.SaveAdd的一个错误,谁可以帮我解决它?

我正在尝试将两个不同的gif文件合并到一个文件中.

首先,我学到了很多关于gif格式的知识.我知道延迟时间值是在图形控制扩展中设置的,这是一个gif文件块.

我保存了第一个gif并设置了FrameDelay值,代码如下:

    ImageCodecInfo codeInfo = GetEncoder(ImageFormat.Gif);
    System.Drawing.Imaging.Encoder saveEncoder = System.Drawing.Imaging.Encoder.SaveFlag;
    EncoderParameters parameters = new EncoderParameters(1);

    parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.MultiFrame);
    PropertyItem PropertyTagFrameDelay = img1.GetPropertyItem(0x5100);
    PropertyTagFrameDelay.Value = new byte[] { 0x96, 0x00 };// this is the delay value 0x0096, means 1.5 second
    img1.SetPropertyItem(PropertyTagFrameDelay);

    PropertyItem LoopCount = img1.GetPropertyItem(0x5101);
    LoopCount.Value = new byte[] { 0x00, 0x00 };// this means the gif loops endlessly
    img1.SetPropertyItem(LoopCount);

    img1.Save(@"c:\ddd.gif", codeInfo, parameters);
Run Code Online (Sandbox Code Playgroud)

然后我尝试添加另一个图像作为第二帧.

    parameters = new EncoderParameters(1);
    parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.FrameDimensionTime);
    PropertyTagFrameDelay = img2.GetPropertyItem(0x5100);
    PropertyTagFrameDelay.Value = …
Run Code Online (Sandbox Code Playgroud)

c# image gif

7
推荐指数
1
解决办法
2671
查看次数

标签 统计

c# ×1

gif ×1

image ×1