//定義座標系
CRect rect;
GetClientRect(&rect);//其實現在我也不太懂這句話有什麼具體意思 !@@!!
//採用自定義的形式 窗口和視區的座標系都自己定義
pDC->SetMapMode(MM_ANISOTROPIC);
//經常用的模式還有 MM_TEXT(每個邏輯座標對應一個設備座標 正x向右 正y向下)
//定義視區,通過與窗口設置的比較 設置成 x正向 右 ,,y正向上 pDC->SetWindowExt(rect.Width(),rect.Height());
pDC->SetViewportExt(rect.Width(),-rect.Height());
//設置視區原點,視區原點是設備座標系下的
pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);
//創建畫筆 ----繪製區域外邊界
畫筆三要素 1、線型 2、寬度 3、顏色
//DASH虛線 /DASHDOT點虛線/ DOT點線/SOLID
//第三個參數是color類型 ,本質是32位的顏色數據類型,如0x0000ff(紅色)
//也可以用RGB宏來創建 RGB(255,0,0)也是紅色 RGB(ff,0,0)
創建畫筆可以使用
BOOL CreatePen(PS_DASH,1,RGB(255,0,0));
也可以用構造函數
CPen(npenstyle,nwidth,crcolor)
//創建畫刷-----圖形內部進行填充 所以僅對閉合圖形有效
默認的畫刷是白色的 所以在畫矩形啊 等封閉的圖形時 內部用默認的白色畫刷填充,就顯現不出來填充色了
//畫刷分爲 1、實體畫刷CreateSolidBrush(),
2、 陰影畫刷CreateHatchBrush(int nIndex,COLORREF,crColor)
//以下三種 畫刷都可以用CBrush()來創建 區別於參數個數來創建不同的畫刷
BOOL CreateSolidBrush(RGB(255,0,0));
BOOL CreateHashBrush(HS_CROSS,0xff0000);
//CreatePatternBrush(*pBitmap) 創建邏輯畫刷 位圖可以使從資源中導入的DDB位圖
使用位圖畫刷時 要確保位圖在畫刷中的相對位置不變 ,用SetBrushOrg()設置畫刷起點
//選入GDI對象 GDI對象在創建後 只有選入上下文中才能使用
//CPen* pDC->SelectObject(CPen* cpen)
//CBrush* pDC->SelectObject(CBrush *cbrush)
//CBitmap* pDC->SelectObject(CBitmap * pbitmap)
//上述三個函數 都是設置上下文類所選中的畫筆、 畫刷 、位圖,返回的指針是指向被替換掉的畫筆 、畫刷、 位圖的指針
//繪製像素點函數 2種 1、返回畫的點的RGB值SetPixel(10,10,RGB(255,0,0));
2、不返回RGB值 SetPixelV(10,10,RGB(255,255,0))
COLORREF color=GetPixel(10,10);//返回 該點的RGB值
//繪製線段 要先創建畫筆 CPen *poldpen,newpen;
newpen.CreateCPen(PS_SOLID,1,RGB(0,ff,0));
poldpen=pDC->SelectObject(&newpen);
2個BOOL LineTo(x,y);從當前位置劃線到xy處,並改變當前位置爲 xy
//CPoint MoveTo(x,y);只是將當前位置 移動到xy,並不劃線
//繪製矩形 Rectangle