Professional Documents
Culture Documents
Do Hoa
Do Hoa
VC6.0(MFC)
Giảng viên : Trần Anh Tuấn
Đại học Khoa học Tự nhiên
Nội dung
• Quy trình làm việc với đồ hoạ
• Các đối tượng đồ hoạ
• Bút vẽ chổi vẽ
• Biến đổi toạ độ
Quy trình làm việc với
đồ hoạ
• GDI(Graphic Device Interface) hỗ
trợ cho giao diện thiết bị đồ hoạ như
màn hình , máy in với các công cụ như
Pen , Brush , Font , Bitmap , Pallete ,
Region.
• DC (Device Context: Ngữ cảnh thiết
bị)
Quy trình làm việc với
đồ hoạ
• Có hai cách tiếp cận để hiển thị đối
tượng đồ hoạ:
CClientDC dc(this);
dc.MoveTo(pointA); CClientDC dc(this) CClientDC dc(this)
dc.LineTo(pointB);
dc.Rectangle(l,t,r,b); dc.Ellipse(l,t,r,b);
CClientDC dc(this)
CClientDC dc(this)
dc.RoundRect(l,t,r,b,w,h);
dc.PolyBezier
(aPoint,4);
Bút vẽ , chổi vẽ
Bút vẽ , chổi vẽ
• Bút vẽ (CPen)
• Cách dùng :
– CPaintDC dc(this);// hay CClientDC dc(this)
– CPen *hpen , *hpenPrev;
– hpen = new CPen(kiểu,độ rộng, màu);
– hpenPrev = dc.SelectObject(hpen);
– Vẽ đối tượng
– delete dc.SelectObject(hpenPrev);
Bút vẽ , chổi vẽ
• Bút vẽ (CPen)
• Kiểu:
– PS_SOLID bút vẽ đặc
– PS_DASH bút vẽ gạch
– PS_DOT bút vẽ chấm
– PS_DASHDOT bút vẽ chấm
gạch
• Ngoài ra còn có thể tạo bút vẽ bằng
:
– GetStockObject , CreatePenIndirect
Bút vẽ , chổi vẽ
• Chổi vẽ (CBrush)
• Cách dùng:
– CPaintDC dc(this);// hay CClientDC dc(this)
– CBrush *hbrush , *hbrushPrev;;
– hbrush = new CBrush([kiểu,] màu);
– hbrushPrev = dc.SelectObject(hbrush);
– Vẽ đối tượng
– delete dc.SelectObject(hbrushPrev);
Bút vẽ , chổi vẽ
• Chổi vẽ (CBrush)
• Kiểu:
– HS_BDIAGONAL;
– HS_CROSS;
– HS_DIAGCROSS;
– HS_FDIAGONAL;
– HS_HORIZONTAL;
– HS_VERTICAL;
• Ngoài ra còn có thể tạo chổi vẽ bằng :
– CreateSolidBrush , CreateHatchBrush ,
CreatepatternBrush , CreateBrushIndirect
Biến đổi toạ độ
• CRect rt;
• (control variable) m_v
• m_v..GetClientRect(&rt);
• m_v.ClientToScreen(&p);
• ScreenToClient(&p);
•Hết