Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TBitmap


Автор: 040375 6.2.2007, 10:29
Я не работал с графикой - пришлось, необходимо нарисовать картинку на канве TImage - состоящую из линий, прямоугольников.
С этим проблем нет. Ну понятно - что при отрисовке изображение на картинке начинает мерцать, чтобы не мерцало, читал, необходимо нарисовать это в каком либо буфере - а уже затем копировать в картинку.
Код

TImage* img_links=new TImage(...)
Graphics::TBitmap *bit_buffer=new Graphics::TBitmap;
// затем в буфере bit_buffer отрисовываю всё что надо
....
....
// копирую в Image - в картинке ничего не появляется
img_links->Picture->Bitmap->Assign(bit_buffer);

В общем всё просто - img_links на форме, в неё нужно всё отрисовать,
отрисовываю в bit_buffer всё что надо, потом методом в последней строке кода копирую это на Bitmap картинки - на форме ничего не появляется smile Что я не так делаю?

Автор: Sharkfire 6.2.2007, 11:14
Попробуй окнчательный результат выводить на форму другим способом. Например "CopyRect" исчерпувающая информация об этой функции есть в хелпе.

Автор: 040375 7.2.2007, 07:09
Всё, разобрался, как всегда - ошибки следует искать в коде.
Попробовал все методы - и CopyRect, и Draw и Assign - всё работает визуально одинаково.
Мне только одно не понравилось, во время копирования с формы исчезают все TImage на время копирования, т.е. получается тот же еффект
мерцания. Как от этого избавиться? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)