Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Visual C++.NET
Урок 18. Выводим рисунок из bmp-файла

Для показа рисунка из bmp-файла мы должны, во-первых, загрузить его и, во-вторых, вывести его на контекст устройства.

Делаем первое действие. Для этого в классе вида (подразумевается, что вы сделали стандартную заготовку программы мастером с использованием архитектуры Документ-Вид) заводим две переменнные - типа CBitmap и BITMAP:

    CBitmap bm;
 
     BITMAP bmp;

Для загрузки картинки из файла пишем такой код (его, например, можно пометить в обработчик некоторого пункта меню):

void CBitmapView::OnFileLoadbitmap()
 
 {
 
     // Загружаем битмап и привоединяем его к переменной типа CBitmap. 
 
     bm.Attach(LoadImage(0, "1.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE));
 
     bm.GetObject(sizeof(BITMAP), &bmp);
 
     // Перерисовка.
 
     Invalidate();
 
 }

После загрузки пишем код для второго этапа - а именно выводим битмап на контекст устройства окна. Это мы делаем в созданном мастером заготовке метода OnDraw:

void CBitmapView::OnDraw(CDC* pDC)
 
 {
 
     CbitmapDoc* pDoc = GetDocument();
 
     ASSERT_VALID(pDoc);
 
 
 
     // Выводим загруженный битмап на форму.
 
     pDC->DrawState(CPoint(0,0),
 
                 CSize(bmp.bmWidth,bmp.bmHeight),bm, DST_BITMAP);
 
 }

Все. Запускаем программу. Результат будет приблизительно такой:

bitmap на форме

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS