На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Clipping Output



After the user chooses the Clip option from the menu, the application uses the coordinates of the rectangle the user created to define a clipping region. After defining the clipping region and selecting it into the application's device context, the application redraws the bitmapped image. The application performs these tasks, as follows.

/* These variables are required for clipping. */

static POINT ptUpperLeft;
static POINT ptLowerRight;
static POINT aptRect[5];
static POINT ptTmp;
static POINTS ptsTmp;
static BOOL fDefineRegion;
static BOOL fRegionExists;
static HRGN hrgn;
static RECT rctTmp;
int i;

case WM_COMMAND:
switch (wParam) {

case IDM_CLIP:

hdc = GetDC(hwnd);

/*
* Retrieve the application's client rectangle and paint
* with the default (white) brush.

*/

GetClientRect(hwnd, &rctTmp);
FillRect(hdc, &rctTmp, GetStockObject(WHITE_BRUSH));

/* Use the rect coordinates to define a clipping region. */

hrgn = CreateRectRgn(aptRect[0].x, aptRect[0].y,
aptRect[2].x, aptRect[2].y);
SelectClipRgn(hdc, hrgn);

/* Transfer (draw) the bitmap into the clipped rectangle. */

BitBlt(hdc,
0, 0,
bmp.bmWidth, bmp.bmHeight,
hdcCompatible,
0, 0,

SRCCOPY);

ReleaseDC(hwnd, hdc);
break;



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Отсечение Выхода



После того, как пользователь выберет опцию Клипа из меню, приложение использует координатам прямоугольника пользователя созданный, чтобы определять вырезать область. После определять отсечения области и выбора это в прикладной контекст устройства, приложение перерисовывает образ bitmapped. Приложение выполняет эти задачи, следующим образом.

/* Эти переменные необходимы для clipping. */

статическая ТОЧКА ptUpperLeft;
статическая ТОЧКА ptLowerRight;
статическая ТОЧКА aptRect[5];
статическая ТОЧКА ptTmp;
статические ТОЧКИ ptsTmp;
статический BOOL fDefineRegion;
статический BOOL fRegionExists;
статический HRGN hrgn;
статический RECT rctTmp;
int i;

случай WM_COMMAND: ключ (wParam) {

случай IDM_CLIP:

hdc = GetDC(hwnd);

/*
* Извлеките прикладной прямоугольник клиента и краски
* с по умолчанию щеткой (белый).

*/

GetClientRect(hwnd, &rctTmp);
FillRect(hdc, &rctTmp, GetStockObject(WHITE_BRUSH));

/* Используйте координаты rect, чтобы определять отсечение region. */

hrgn = CreateRectRgn(aptRect[0].x, aptRect[0].y, aptRect[2].x, aptRect[2].y);
SelectClipRgn(hdc, hrgn);

/* Передача (сделайте) побитовое отображение в вырезанный rectangle. */

BitBlt(hdc,
0, 0,
bmp.bmWidth, bmp.bmHeight, hdcCompatible,
0, 0,

SRCCOPY);

ReleaseDC(hwnd, hdc);
прерывание;



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz