當前位置:編程學習大全網 - 編程軟體 - C#中怎麽獲得GIF動畫文件中每壹幀的時間(毫秒)?

C#中怎麽獲得GIF動畫文件中每壹幀的時間(毫秒)?

Image img=Image.FromFile("C://1.gif");//加載Gif圖片

FrameDimension dim = new FrameDimension(img.FrameDimensionsList[0] );

for (int i = 0; i < img.GetFrameCount(dim);i++ )//遍歷圖像幀

{

img.SelectActiveFrame(dim, i);//激活當前幀

for (int j = 0; j < img.PropertyIdList.Length; j++)//遍歷幀屬性

{

if ((int)img.PropertyIdList.GetValue(j) == 0x5100)/.如果是延遲時間

{

PropertyItem pItem = (PropertyItem)img.PropertyItems.GetValue(j);//獲取延遲時間屬性

byte[] delayByte = new byte[4];//延遲時間,以1/100秒為單位

delayByte[0] = pItem.Value[i * 4];

delayByte[1] = pItem.Value[1 + i * 4];

delayByte[2] = pItem.Value[2 + i * 4];

delayByte[3] = pItem.Value[3 + i * 4];

int delay=BitConverter.ToInt32(delayByte, 0)*10; //乘以10,獲取到毫秒

MessageBox.Show(delay.ToString());//彈出消息框,顯示該幀時長

break;

}

}

}

  • 上一篇:現代朗動更換發動機電腦怎麽重新編程
  • 下一篇:威海職業學院有哪些專業
  • copyright 2024編程學習大全網