Программирование >>  Процедурные приложения 

1 ... 107 108 109 [ 110 ] 111 112 113 ... 150


RGB(0,0, 255), синий

RGB(255,255, 0), желт1й

RGB(255,0, 255), пурпурный RGB(0,255,255), голубой

RGB(127,127, 127), серый

RGB(255,255, 255)}; белый short xcoord;

POINT polylpts[4],polygpts[5] ;

CBrush newbrush;

CBrush* oldbrush;

CPen newpen;

CPen*oldpen;

CPaintDC dc(this);

рисование толстой черной диагональной линии newpen.CreatePen(PS SOLID, 6, dwColor[0]); oldpen = dc.Selectobject(Snewpen); dc.MoveTo(0, 0) ; dc.LineTo(640,430);

dc.TextOut(70,20, <-diagonal line ,15); удаление пера dc.Selectobject(oldpen); newpen.DeleteObj ect() ; рисование синей дуги

newpen.CreatePen(PS DASH, 1, dwColor[3]); oldpen = dc.Selectobject(Snewpen) ;

dc.ArcdOO,100, 200, 200, 15X), 175, 175,150),

dc.TextOut (80,180, small -arc-> , 11); удаление пера dc.SelectObjecb(oldpen); newpen.DeleteObject();

рисование зеленого сегмента с толстым контуром newpen.CreatePen(PS SOLID, 8, dwColor[2]); oldpen = dc.Selectobject(Snewpen);

dc.Chord(550, 20,630,80, 555, 25,625,70); dc.TextOut(485,30, chord-> , 7) ; удаление пера dc.Selectobject(oldpen); newpen.DeleteObject() ;

рисование эллипса и заливка его краснымцветом newpen.CreatePen(PS SOLID, 1, dwColor[1]); oldpen = dc.Selectobject(Snewpen); newbrush.CreateSolidBrush(dwColor[1]); oldbrush = dc.Selectobject(Snewbrush) ;

dc.Ellipse(180, 180, 285, 260);

dc.TextOut(210,215, ellipse ,7); удаление кисти

dc.SelectObject(oldbrush) ; newbrush.DeleteObject(); удаление пера dc.SelectObject(oldpen) ; newpen.DeleteObj ect{); рисование круга и заливка его синим цветом newpen.CreatePen(PS SOLID, I, dwColor[3]); oldpen = dc.SelectObject(Snewpen); newbrush.CreatesolidBrush(dwColor[3]) ; oldbrush = dc.SelectObject(Snewbrush);

dc.Ellipse(380,180, 570, 370); dc.TextOut(450,265, circle ,6);



удаление кисти dc.SelectObject(oldbrush) ; newbrush.DeleteObject(); удаление пера dc.SelectObject(oldpen); newpen.DeleteObject() ;

рисование черного сектора и заливка его зеленым цветом

newpen.CreatePen(PS SOLID, I, dwColor[0]);

oldpen = dc.SelectObject(Snewpen);

newbrush.CreatesolidBrush(dwColor[2]);

oldbrush = dc.SelectObject(Snewbrush);

dc.Pie(300,50,400, 150, 300, 50,300, 100);

dc.TextOut(350,80, <-pie wedge , 11);

удаление кисти

dc.SelectObject(oldbrush);

newbrush.DeleteObject();

удаление пера

dc.SelectObject(oldpen);

newpen.DeleteObj ect() ;

рисование черного прямоугольника и заливка его серым цветом newbrush.CreateSolidBrush(dwColor[7]) ; oldbrush = dc.SelectObject(Snewbrush); dc.Rectangle(50,300, 150, 400);

dc.TextOut(160,350, <-rectangle , 11); удаление кисти dc.SelectObject(oldbrush); newbrush.DeleteObject() ;

рисование черного закругленного прямоугольника изаливка его синим цветом

newbrush.CreateHatchBrush(HS CROS5, dwColor[3]); oldbrush = dc.SelectObject(Snewbrush) ; dc.RoundRect(60, 310, 110,350, 20,20);

dc.TextOut(120,310, <-rounded rectangle , 24);

удаление кисти

dc.SelectObject(oldbrush);

newbrush.DeleteObject();

рисование нескольких зеленых точек

for(xcoord = 400; xcoord < 450; xcoord += 3)

dc.SetPixel(xcoord, 150, OL); dc.TextOut(455, 145, <-pixels , 8);

рисование толстой ломаной линии пурпурного цвета newpen.CreatePen (PS SOLID, 3, dwColor [5-] ); oldpen = dc.SelectObject(Snewpen);

polylpts[0]

.x =

polylpts[0]

.y =

polylpts[l]

.x =

polylpts[l]

.y =

100;

polylpts[2]

.x =

polylpts[2]

.y =

100;

polylpts[3]

.x =

polylpts[3]

.y =

dc.Polyline(polylpts, 4);

dc.TextOut(10,110, polyline , 8);

удалениепера dc.SelectObject(oldpen);



newpen.DeleteObject();

рисование голубого многоугольника

изаливка его диагональной желтой штриховкой

newpen.CreatePen(PS SOLID, 4, dwColor[6]);

oldpen = dc.SelectObject(Snewpen);

newbrush.CreateHatchBrush(HS FDIAGONAL, dwColor[4]);

oldbrush = dc.SelectObject(Snewbrush);

polygpts[0]

.x =

polygpts[0]

.y =

200;

polygptsfl]

.x =

100;

polygpts[l]

.y =

270;

polygpts[2]

.x =

polygpts[2]

.y =

290;

polygpts[3]

.x =

polygpts[3]

.y =

220;

polygpts[4]

.x =

polygpts[4]

.y =

200;

dc.Polygon(polygpts, 5);

dc.TextOut(70,210, <-polygon , 9) ;

удаление кисти

dc.SelectObject(oldbrush);

newbrush.DeleteObject();

удаление пера

dc.SelectObject(oldpen);

newpen.DeleteObject(); } BEGIN MESSAGE MAP(CMainWnd, CFrameWnd)

ON WM PAINT () END MESSAGE MAP()

BOOL CgdiAApp::Initlnstance() {

m jpMainWnd = new CMainWnd () ;

m pMainWnd->ShowWindow(m nCmdShow) ;

m pMainWnd->UpdateWindow();

return TRUE;

Файл GDI.CPP

В функции OnPaint( ) создается массив dwColor, в котором хранятся девять RGB-значений цветов для используемых кистей и перьев.

static DWORD dwColor[9] = {RGB(0,0, 0), черный

RGB(255, 0, 0), красный

RGB(0,255, 0), зеленый

RGB( О, О, 255), синий

RGB(255,255, 0), желтый

RGB(255, 0, 255), пурпурный

RGB(0,255,255), голубой

RGB(127,127, 127), серый

RGB(255,255, 255)}; белый

Классы CBrush и СРеn позволяют создавать объекты кистей и перьев, которые могут использоваться любыми функциями класса cdcи его потомков (классов, связанных с контекстами устройств). Кисти могут иметь сплошную и штриховую заливку, а также заливку с применением растрового узора. Перья рисуются сплошной (ps solid), штриховой (ps dash), пунктирной (ps dot), штрихпунктирной (ps dashdot) и штрихточечной (ps dashdotdot) линиями. Ниже показан синтаксис создания объектов кистей и перьев:

CBrush newbrush; CBrush* oldbrush; CPen newpen;



1 ... 107 108 109 [ 110 ] 111 112 113 ... 150

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика