| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > TGIFImage в отдельном потоке |
| Автор: bobm 11.11.2005, 18:48 |
| Подскажите плиз: использую TGIFImage от Anders Melander (v 7) в BCB6, при простой загузке gif файла в TImage все нормально, но притормаживает интерфейс программы , когда несколько анимированных гифов. Пытался запустить каждый гиф в своем потоке, там есть функция Paint, запускается , но плохое качество отрисовки , если требуется масштабирование, вроде все варианты опций перепробовал. Может, кто сталкивался ? запускаю вот таким образом: TGIFImage *gif; TGIFPainter *t; gif = new TGIFImage(); gif->LoadFromFile("tehn.gif"); gif->ThreadPriority = tpIdle; TGIFDrawOptions opt; opt << goAsync << goAnimate << goLoop << goLoopContinously << goDirectDraw << goDither << goAutoDither << goTransparent << goClearOnLoop; t = gif->Paint(PaintBox1->Canvas, Rect(0,0,PaintBox1->Width,PaintBox1->Height), opt); Отображается, можно остановить t->Stop(); Но качество жуткое,если размер гифа и пейнтбокса различны А если просто считать gif в компонент TImage,то и рисуется и масштабируется нормально,а это ведь тот же TGIFImage отрисовывает |