最簡單的方法就是在視圖類中獲取DC,然后直接調用DC中的畫圖函數(shù)。
前郭ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
比如HDC dc=getdc();
dc.moveto(x,y);
dc.linet(x1,y1);
就是畫一條x,y到x1,y1的直線
你有學習其他東西的功夫,就足夠把GDI學好了,
VC下繪圖使用GDI
給你個例子,創(chuàng)建一個單文檔程序,在View類得OnDraw函數(shù)的尾部添加下面的代碼,然后編譯執(zhí)行
CPen penRed(PS_SOLID,3,RGB(255,0,0));
CPen* pOldPen=NULL;
pOldPen=pDC-SelectObject(penRed);
CRect rcClient;
GetClientRect(rcClient);
CBrush brBlue(RGB(0,0,255));
CBrush* pOldBrush=NULL;
pOldBrush=pDC-SelectObject(brBlue);
for(int w=0;w2;w++)
{
const int nPoints=5;
double nAngle=(720.0/57.295)/(double)nPoints;
int xOffset=(w?1:-1)*rcClient.Width()/3;
pDC-SetPolyFillMode(w?ALTERNATE:WINDING);
CPoint ptPolyAr[nPoints];
for(int i=0;inPoints;i++)
{
ptPolyAr[i].x=xOffset+(long)(sin((double)i*nAngle)*100.0);
ptPolyAr[i].y=(long)(cos((double)i*nAngle)*100.0);
ptPolyAr[i]+=rcClient.CenterPoint();
}
pDC-Polygon(ptPolyAr,nPoints);
}
pDC-SelectObject(pOldBrush);
pDC-SelectObject(pOldPen);
graphics.h是TC下使用的庫
建立MFC文件,添加菜單“功能性按鍵”時選擇“CVIEW”
函數(shù)內容如下(我用的Visual studio 2010,可能有些版本不同導致操作不同)
CDC*pDC=GetDC();//得到繪圖類指針
RedrawWindow();//重建窗口
pDC-Rectangle(50,20,700,400);//以默認畫筆畫一矩形
CPen bluepen(PS_DASH,1,RGB(0,0,255));//創(chuàng)建畫虛線,線寬為1的藍色畫筆
CPen*old=pDC-SelectObject(bluepen);
pDC-Ellipse(100,50,250,200);//畫圓
CPen redpen(PS_SOLID,2,RGB(255,0,0));//創(chuàng)建畫實線,線寬為2的紅色畫筆
pDC-SelectObject(redpen);
pDC-Ellipse(500,50,650,200);//畫圓
pDC-MoveTo(375,100);//畫一三角形
pDC-LineTo(225,300);
pDC-LineTo(525,300);
pDC-LineTo(375,100);
CBrush greenBrush(RGB(0,255,0));//創(chuàng)建純色的綠色畫筆刷
pDC-SelectObject(greenBrush);
pDC-FloodFill(375,200,RGB(255,0,0));//以純色綠筆刷填充三角形
CBrush green1Brush(HS_FDIAGONAL,RGB(0,255,0));//創(chuàng)建影線為斜線的綠色筆刷
pDC-SelectObject(green1Brush);
pDC-FloodFill(600,150,RGB(255,0,0));//以綠色斜線筆刷填充圓
pDC-SelectObject(old);//釋放創(chuàng)建的畫筆,回復原來的畫筆
pDC-TextOut(335,250,"HELLO WORLD,It's my first computer graphic work!");//輸出字符
ReleaseDC(pDC);//釋放創(chuàng)建的CDC對象