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

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

Глюк или не глюк TImage? [D7, WinXP]


Chaser ©   (2005-06-10 10:37:00) 

Рисую на Image1.
В свойсвах Image1 в инспекторе объектов ставлю Align:=alClient.
Запускаю программу. Что-то рисую на Image (типа LineTo() и т.п.).
При растягивании формы размер Image почему-то остается таким же, как был при разработке, хотя у него стоит Align:=alClient.
Принудительно изменяю (для примера) ширину Image (Image1.Width:=400) - все равно какой он был ширины при разработке, такой и остался.
Хотя, если в Image загрузить рисунок большего размера чем он был при разработке, то все загружается полностью (размер Image меняется).
Подвкажите плиз, в чем проблема.


WondeRu   (2005-06-11 17:01:00) [1]

vcl.ru:
Вопрос:
При увеличении размера компонента TImage в RunTime пытаюсь рисоватьзаново на всем поле, но отображается только часть компонента (прежнегоразмера). В чем дело?
Ответ:
Нужно при инициализации выполнить SetBounds(), с максимальными размерами.


Sphinx   (2005-06-11 15:52:00) [2]

Полная отсебятина :)

Можно рисовать по координатам Image.Canvas на отдельном Bitmap.Canvas, а потом копировать канвас битмапа на имадж...

Image.Width := Bitmap.Width; // необязательно
Image.Height := Bitmap.Height; // необязательно
Image.Picture.Bitmap := Bitmap;
Image.Repaint;


XProger   (2005-06-11 01:06:00) [3]

К сказаному в [1] добавлю, что image должен находиться либо на форме, либо на другом компоненте с Align:=alClient


Eraser   (2005-06-10 22:30:00) [4]

Chaser ©   (10.06.05 10:37)

К сказаному в [1] добавлю, что рисовать надо не на Image.Canvas, а на Image.Picture.Bitmap.Canvas.


programania   (2005-06-10 22:29:00) [5]

>При растягивании формы размер Image почему-то остается таким же, как был при разработке

как определяешь размер Image?
поставь

procedure TForm1.FormResize(Sender: TObject);
begin
label1.caption:=intToStr(image1.width);
end;

увидишь что image меняется.
Если нужно чтоб менялся рисунок, то image1.Stretch:=true;


Наверх

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