Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.45 MB
Время: 0.051 c
1-41635
Islander
2003-10-24 18:33
2003.11.13
Сохранение кнопок на тулбаре


1-41218
ildar
2003-11-01 17:37
2003.11.13
Обработка событий от объекта -свойства


6-41828
Дмитрий П
2003-09-14 14:27
2003.11.13
Программно изменить адрес шлюза в настройках TCP/IP.


6-41851
Zombie
2003-09-11 08:53
2003.11.13
TWebBrowser


3-41057
axx
2003-10-24 11:15
2003.11.13
CachedUpdates в TTable





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский