Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Работа с растровыми изображениями

Rusa




Windows - это 10410y2410k операционная система, работающая в графическом режиме, Вы можете использовать в своих программах графические элементы. Поэто 10410y2410k му важно уяснить, как в рабочей области окна можно рисовать такие элемен­ты, как линии, круги и прямоугольники, используя разнообразные функции Win dows API

. Прежде чем написать программу, рисующую растровое изображение, сначала нужно создать собственно растровое изображение. Для это 10410y2410k го, как и в случае с другими графическими ресурсами, следует воспользоваться помощью графического редакто­ра. В отличие от курсоров и иконок, размеры которых предопределены, для растро­вого изображения можно задать любой размер. Для работы с примером, приведенным ниже, понадобится растровое изображение размером 77 на 77 пиксел. Назовите это 10410y2410k т файл Bfly bmp

MYBP BITMAP Bfly bmp

Прежде чем использовать в программе растровое изображение, необходимо загрузить его и запомнить его дескриптор. Лучше всего это 10410y2410k можно сделать в функции WinMain API LoadBitmap

HBITMAP LoadBitmap(HINSTANCE hThisInst,

LPCSTR IpszName);

hThisInst a lpszName NULL

HBITMAP hBit // Дескриптор растра

hBit LoadBitmap hThisInst,"MYBP1"); //Загрузить растр

MYPP hBit



case WM_LBUTTONDOWN:

DC=GetDC(hwnd); // DC

memDC=CreateCompatibleDC(DC); // DC

SelectObject(memDC,hBitl);

BitBlt(DC,LOWORD(lParam),HIWORD(lParam),77,77,

memDC SRCCOPY

ReleaseDC hwnd DC // Освободить DC

DeleteDC memDC // Освободить DC

break

Рассмотрим подробнее это 10410y2410k т фрагмент программы. Сначала объявляются два контек­ста устройств. DC GetDC memDC case

API CreateCompatibleDC

HDC CreateCompatibleDC HDC hdc

hdc NULL

API SelectObject SelectObjectO

HGDIOBJ SelectObject HDC hMdc HGDIOBJ hObject



hMdc a hObject дескриптор это 10410y2410k го объекта. Функция возвращает дескриптор объекта, который был выбран ранее, позволяя при необходимости выбирать его опять.

API BitBlt

BOOL BitBlt(HDC hDest,  int X, int Y,

int Width, int Height, HDC hSource,

int SourceX, int SourceY, DWORD dwRaster);

hDest a X Y Width Height hSourse содержит дескриптор исходного контекста устройства, который в это 10410y2410k м случае является контекстом памяти, полученным при вызове teCompatibleDC SourceX SourceY dwRaster задает способ вывода растрового изображения на экран. Наиболее часто используемые значения это 10410y2410k го параметра приведены в следующей таблице 6.1.

dwRaster

SRCCOPY

SRCAND

AND

SRCPAINT

OR

SRCINVERT

XOR

Windows h



BitBlt

ReleaseDC GetDC CreateCompatibleDC DeleteDC

Растровое изображение является ресурсом, который должен быть освобожден перед завершением программы. Для это 10410y2410k го следует использовать функцию DeleteObject WM DESTROY DeleteObject

BOOL DeleteObject HGDIOBJ hObj

hObj

. Ниже приводится полный текст программы вывода растрового изображения на экран. Программа выводит его каждый раз при нажатии левой кнопки мыши, начиная с текущей позиции курсора. Рисунок 6.4 иллюстрирует работу это 10410y2410k й программы.

#include <Windows.h>

LRESULT CALLBACK WindowFunc(HWND, UINT, WPARAM,

LPARAM);

char szWinName[]=" "; //

HBITMAP hBit1;  //

int WINAPI WinMain(HINSTANCE hThisInst,

HINSTANCE hPrevInst,

LPSTR lpszArgs,

int nWinMode)

return msg.wParam;

}

// системой Windows и получает в качестве

LRESULT CALLBACK WindowFunc(HWND hwnd,

UINT message,

WPARAM wParam,

LPARAM lParam)

return 0;

}




Document Info


Accesari: 2948
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )