Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2008, 20:36   #1
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию TBitmap

поток загружает битмап на форму. можно ли при этом сделать, чтобы при перерисовке окна битмап не стирался? Событие OnPaint использовать нельзя
odi_noki вне форума Ответить с цитированием
Старый 24.10.2008, 20:48   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Событие OnPaint использовать нельзя
Почему?

p.s. Загружайте в Image.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.10.2008, 20:51   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
поток загружает битмап на форму
Поясните, что значит "на форму".
mihali4 вне форума Ответить с цитированием
Старый 24.10.2008, 21:03   #4
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию

OnPaint нельзя, потому что битмап должен загружаться не основным потоком, а новым, созданным мной.
загружаю на форму так - Form1.Canvas.Draw(x,y,bmp);
odi_noki вне форума Ответить с цитированием
Старый 24.10.2008, 21:22   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
загружаю на форму так - Form1.Canvas.Draw(x,y,bmp);
Недавно был похожий вопрос и ответ, что именно TImage приспособлен, чтобы хранить неизменным свой канвас без перерисовки. С формой (и не только) такой фокус не проходит.
Поэтому вариант - киньте на форму TImage и грузите в канву его битмапа.
mihali4 вне форума Ответить с цитированием
Старый 24.10.2008, 21:44   #6
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию

mihali4,
Спасибо, помогло.
Только вот как быть с размером TImage? Подгонять вручную? Загружаю битмап, и если Image больше битмапа, то лишняя площадь заливается белым
odi_noki вне форума Ответить с цитированием
Старый 24.10.2008, 22:08   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

AutoSize:=true;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.10.2008, 22:16   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Или Stretch:=True;
mihali4 вне форума Ответить с цитированием
Старый 24.10.2008, 22:18   #9
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
AutoSize:=true;
Странно, так вообще ничего не рисует
odi_noki вне форума Ответить с цитированием
Старый 24.10.2008, 22:20   #10
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Или Stretch:=True;
А так никаких изменений
odi_noki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TBitmap в многопоточном приложении Sergey_nl Мультимедиа в Delphi 3 09.07.2007 00:34