我使用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