Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 261
от 22.06.2006, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 344, Экспертов: 32
В номере:Вопросов: 1, Ответов: 2


Вопрос № 46502: Здравствуйте, уважаемые эксперты. Проблема такова. Есть растровый файл (.bmp) скажем на диске С (C:draw.bmp). Как мне средствами WinAPI отобразить рисунок который содержится в даном файле в окне моего приложения? Заранее благодарен за любую...

Вопрос № 46.502
Здравствуйте, уважаемые эксперты.
Проблема такова. Есть растровый файл (.bmp) скажем на диске С (C:draw.bmp). Как мне средствами WinAPI отобразить рисунок который содержится в даном файле в окне моего приложения?
Заранее благодарен за любую предоставленую информацию.
Отправлен: 17.06.2006, 14:51
Вопрос задал: Юра (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: gitter
Здравствуйте, Юра!
Когда-то делал сам такое, но лучшее что я нашёл - это воспользовался структурой LPPICTURE и для нее воспользовался функцией OleLoadPicture.
Кстати, приведенный в приложении пример работает не только для bmp но и для jpeg, jpg и др.
Вам надо будет один раз вызвать функцию LoadFromFile
а затем в Вашеё функции рисования вызвать DrawImage, передав туда контекст устройства и прямоугольник, в котором хотите чтобы картинка отобразилась.

Удачи!

Приложение:

Ответ отправил: gitter (статус: 8-ой класс)
Ответ отправлен: 17.06.2006, 15:47

Отвечает: Vest
Здравствуйте, Юра!
Вот привожу простой код:
HBITMAP bmp = (HBITMAP)LoadImage(NULL, "c:\draw.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
if(bmp == NULL)
MessageBox("Could not load bmp!", "bmp1", MB_OK | MB_ICONEXCLAMATION);
...
где hdcWindow - вызывается с помощью HDC GetDC(HWND hWnd);
DrawState(hdcWindow, NULL, NULL, (LPARAM)bmp, 0, 0, 0, 0, 0, DST_BITMAP | DSS_NORMAL);

Однако можно также использовать функцию BitBlt, например для создания анимации, если нужен с ней пример - пиши, отвечу.
---------
Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 18.06.2006, 11:06


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное