Главная страница
    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.44 MB
Время: 0.041 c
6-41800
Artem
2003-09-17 11:52
2003.11.13
Передача сообщения по сети


1-41498
pavlov
2003-10-28 11:00
2003.11.13
Использование TThread внутри dll


1-41416
Vadim S
2003-10-29 16:15
2003.11.13
Invalid pointer operation


14-41890
undert
2003-10-21 17:04
2003.11.13
Описание компонентов RAVE


3-41068
Sour
2003-10-22 19:30
2003.11.13
CASE средство разработки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский