Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перерисовать картинку? [D7, Win95/98, Win2k, WinXP]


Святослав ©   (2006-02-15 14:30:00) 

Пишу свой компонент, потомок от TpaintBox, рисую на канве, все хорошо только изображение не обновляться если свернуть/развернуть форму!
Как с этим бороться?


zep   (2006-02-20 21:02:00) [1]

весте с изменением image
Image1.w:=88;
Image1.h:=77;
присваевай и
Image1.Picture.Bitmap.w:=88;
Image1.Picture.Bitmap.h:=77;
но ты Image выбрал зря он моргает как зараза и нечего ты с ним не сделаеш
надобыло хотябы от PaintBox аследовать а рисовать в событии OnPaint  на вертуальной битмапки а патом уже на канву выкидывать Draw.


MBo   (2006-02-16 16:57:00) [2]

Изменяй размеры Picture.Bitmap


Святослав   (2006-02-16 16:53:00) [3]

Всем спасибо, заработало :)))
Но теперь новый глюк, если TImage предок то изменение размеров картинки не вступают в силу!!! В дизайне растягивал как мне надо но в ране значение свойств высоты и ширины остались стартовыми!!!


zep   (2006-02-16 00:11:00) [4]

папробуй взять предка кастум панель и в Ppotected переопредели процедуру Paint типа так
procedure Pain; override;
а дальше в программе рисуй в ней что хочешь
procedure My_comp.Paint;
begin
 //
end;

если будет сильно моргать рисуй сначала на canvas у TBitmap а в конце копируй на канву компаненты


MBo   (2006-02-15 19:03:00) [5]

>в OnPaint только можно нарисовать
Так для этого PaintBox и предназначен - легковесный компонент без сохранения картинки, просто выделенное для рисования место.
TImage сохраняет картинку


Святослав   (2006-02-15 18:19:00) [6]


> рисовать нужно в обработчике OnPaint

Пробовал, болт! Все намного хуже, в OnPaint только можно нарисовать, старые рисунок не сохраняет если тот и рисовался в OnPaint, а если рисунок результат работы проги? Надо рисовать либо на двух canvas либо по выходу фокуса с рисунка сохранять BitMap
Может стоит предка поменять?


MBo   (2006-02-15 16:59:00) [7]

Пардон, не обратил внимания сразу, что потомок PaintBox. PaintBox сам не перерисовывается, картинку не сохраняет, рисовать нужно в обработчике OnPaint


MBo   (2006-02-15 16:56:00) [8]

возможно, напутал с перекрытием метода Paint. Приведи объявление класса и реализацию этого метода


Наверх

Титульная страница Поиск, карта сайта Написать письмо