![]() |
|
|
![]()
|
|
| Rain789 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.1.2011 Где: Казань Репутация: нет Всего: нет |
Вообщем есть код:
m_Image - CStatic (Picture Control). размер статика 144х108. если загружаемое изображение больше 144х108, нужно чтобы оно визуально масштабировалось под 144х108. хотелось бы знать самый простой и быстрый способ реализации. мб есть какое то свойство? Есть догадки что можно через StretchBlt() или BitBlt(), но как это реализовать? И как я понимаю обе функции реализуют физическое сжатие картинки, а хотелось бы лишь визуальное. Спасибо. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Нет, StretchBlt сжимает только изображение, а не саму картинку, а BitBlt вообще ничего не сжимает. Статик рисует картинку as is, подгоняя свой размер под размер картинки. Чтобы масштабировать картинку, нужно делать свой контрол, можно и на основе OWNERDRAW-статика. Тогда его не надо делать типа IMAGE, просто OWNERDRAW. При создании или инициализации статика нужно загрузить картинку, создать совместимый контекст и выбрать туда картинку. В функции рисования OnDrawItem нужно выполнить StretchBlt из совместимого контекста в контекст рисования. Это общая канва, конкретные примеры ищи в MSDN и в форуме. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |