Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизПроблема с изменением размеров TImage в RUN-time Найти похожие ветки
← →
Dr. Well (2003-11-03 16:20) [0]Господа, думаю ни для кого не секрет, что в Delphi существует проблема перерисовки компонента TImage при изменении его размеров во время работы приложения...
То есть, если я создал компонент размером 100х100, то после выполнения следующего кода:
Image1.Width := 200;
Image1.Height := 200;
при полной перерисовке компонента, переривовывается только область 100х100 (та, которая была при создании компонента).
Мне необходимо изменять размеры компонента в зависимости от размеров текста, на нем нарисованного...
От TImage"а уходить не хотелось бы - он сохраняет картинку после срытия/отображения формы, в отличии от TPaintBox"а и других компонентов.
Кто-то обязательно сталкивался с такой проблемой. Если Вы ее решили - опишите, как?
С уважением Dr. Well (Alexander Yagovdik)
← →
ZEE (2003-11-03 16:32) [1]а
Image1.Stretch:=true
не пробовал?
← →
icWasya (2003-11-03 16:39) [2]Не путайте TImage и TImage.Picture.Grephics - это разные вещи.
Смотри код TImage.GetCanvas - там делается проверка - если Picture.Graphics не создан, то создаётся TBitmap с размерами TImage и берётся его Canvas
Для решения Вашей проблемы -
При изменении размеров Image сделать так
if Assigned(Image.Picture.Bitmap) then begin
Image.Picture.Bitmap.Width:=Image1.Width;
Image.Picture.Bitmap.Height:=Image1.Height;
end;
← →
Dr. Well (2003-11-03 16:40) [3]Как это я не догадался - не думал, что все так просто...
А я уже и создавал его большим (2048х2048), закрашивал и менял размеры на поменьше...
Не подумал - мне же все равно, перерисовывать его придется...
СПАСИБО БОЛЬШОЕ!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.037 c