我正在使用C++ GDI+打开一个gif文件,
但是我发现帧间隔时间非常奇怪,与Windows图片查看器播放的不同。
以下是我编写的代码:
pMultiPageImg = new Bitmap(XXXXX);
int size = m_pMultiPageImg->GetPropertyItemSize(PropertyTagFrameDelay);
m_pTimeDelays = (PropertyItem*) malloc (size);
m_pMultiPageImg->GetPropertyItem(PropertyTagFrameDelay, size, m_pTimeDelays);
int frameSize = m_pMultiPageImg->GetFrameDimensionsCount();();
// the interal of frame FrameNumber:
long lPause = ((long*)m_pTimeDelays->value)[FrameNumber] * 10;
然而我发现一些帧的 lPause <= 0。这是什么意思?
另外,我列出的代码是否正确以获取间隔时间?
非常感谢!