Рисование точки

Функция рисования точки SetPixel устанавливает цвет точки с заданными координатами:

COLORREF WINAPI SetPixel(HDC hdc, // контекст отображения int nXPos, // x-координата точки (логическая, а в сообщениях передаются физические координаты!) int nYPos, // y-координата точки COLORREF clrref); // цвет точки

Рисование линий

Для рисования прямых линий в контексте отображения хранятся координаты текущей позиции пера. Для изменения текущей позиции пера предназначена функция MoveToEx.

BOOL WINAPI MoveToEx(HDC hdc, // идентификатор контекста отображенияint x, // x-координатаint y, // y-координата

POINT FAR* lppt); // указатель на структуру POINT, старые координаты пера.

Чтобы узнать текущую позицию пера, приложение может использовать функцию GetCurrentPositionEx:

BOOL WINAPI GetCurrentPositionEx(HDC hdc, POINT FAR* lppt);

Для того чтобы нарисовать прямую линию, приложение должно воспользоваться функцией LineTo:

BOOL WINAPI LineTo(HDC hdc, int xEnd, int yEnd);

Эта функция рисует линию из текущей позиции пера, установленной ранее функцией MoveToEx, в точку с координатами (xEnd,yEnd). После того как линия будет нарисована, текущая позиция пера станет равной (xEnd,yEnd).

Особенностью функции LineTo является то, что она немного не дорисовывает линию: эта функция рисует всю линию, не включая точку (xEnd,yEnd).

Можно создать свою собственную функцию рисования линии, например такую:

BOOL DrawLine(HDC hdc, int x1, int y1, int x2, int y1){ POINT pt; MoveToEx(hdc, x1, y1, &pt); return LineTo(hdc, x2, y2);}

Рисование ломаной линии

BOOL WINAPI Polyline(HDC hdc, // идентификатор контекста отображения const POINT FAR* lppt,// указатель на массив структур POINT int cPoints); // размер массива

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: