Я использую 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