我使用C++ GDI +打开gifGDI + gif速度问题
但是我发现帧间隔真的很奇怪。 它与窗口的图片浏览器不同。
我写的代码如下。
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 这是什么意思?
并且我列出的代码是否适用于获取间隔?
非常感谢!
不幸的是,事实并非如此。至少不是在我的情况。 m_pTimeDelays->值处的缓冲区不是GIF标头。这是一个代表每个帧延迟的长值向量。首先是第一帧的延迟,第二帧是第二帧的延迟等等。 – EddieBytes 2012-05-11 13:44:00