12
Đồ Hoạ trên Đồ Hoạ trên VC6.0(MFC) VC6.0(MFC) Gi Gi ng viên : Tr ng viên : Tr n Anh Tu n Anh Tu n n Đ Đ i h i h c Khoa h c Khoa h c T c T nhiên nhiên

Đồ Hoạ trên VC6.0(MFC)

Embed Size (px)

DESCRIPTION

Đồ Hoạ trên 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ạ. - PowerPoint PPT Presentation

Citation preview

Đồ Hoạ trên Đồ Hoạ trên VC6.0(MFC)VC6.0(MFC)Đồ Hoạ trên Đồ Hoạ trên VC6.0(MFC)VC6.0(MFC)

GiGiảảng viên : Trng viên : Trầần Anh Tun Anh TuấấnnĐĐạại hi họọc Khoa hc Khoa họọc Tc Tựự nhiên 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ạ:

Khuyết điểm của cách thứ hai là: cửa sổ không tự động vẽ lại

Khuyết điểm cách thứ nhất: vẽ lại toàn bộ đối tượng đã vẽ

Các đối tượng Đồ hoạ

CClientDC dc(this);dc.MoveTo(pointA);dc.LineTo(pointB);

CClientDC dc(this)

dc.Rectangle(l,t,r,b);

CClientDC dc(this)

dc.Ellipse(l,t,r,b);

CClientDC dc(this)

dc.RoundRect(l,t,r,b,w,h);

CClientDC dc(this)

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