Thông tin tài liệu:
Bài giảng Đồ hoạ trên VC6.0(MFC) do Trần Anh Tuấn biên soạn cung cấp cho các bạn những nội dung về 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ạ độ trong đồ họa. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này.
Nội dung trích xuất từ tài liệu:
Bài giảng Đồ hoạ trên VC6.0(MFC) - Trần Anh TuấnĐồHoạtrênVC6.0(MFC) Giảngviên:TrầnAnhTuấn ĐạihọcKhoahọcTựnhiên Nộidung• Quytrìnhlàmviệcvớiđồhoạ• Cácđốitượngđồhoạ• Bútvẽchổivẽ• Biếnđổitoạđộ Quytrìnhlàmviệcvới đồhoạ• GDI(GraphicDeviceInterface)hỗtrợchogiao diệnthiếtbịđồhoạnhưmànhình,máyinvới cáccôngcụnhưPen,Brush,Font,Bitmap, Pallete,Region.• DC(DeviceContext:Ngữcảnhthiếtbị) Quytrìnhlàmviệcvới đồhoạ• Cóhaicáchtiếpcậnđểhiểnthịđốitượngđồ hoạ: Khuyếtđiểmcáchthứnhất:vẽlạitoàn bộđốitượngđãvẽ Khuyếtđiểmcủacáchthứhailà:cửasổ khôngtựđộngvẽlại CácđốitượngĐồhoạ CClientDCdc(this); dc.MoveTo(pointA); CClientDCdc(this) CClientDCdc(this) dc.LineTo(pointB); dc.Rectangle(l,t,r,b); dc.Ellipse(l,t,r,b);CClientDCdc(this) CClientDCdc(this)dc.RoundRect(l,t,r,b,w,h); dc.PolyBezier (aPoint,4);Bútvẽ,chổivẽ Bútvẽ,chổivẽ• Bútvẽ(CPen)• Cáchdùng: – CPaintDCdc(this);//hayCClientDCdc(this) – CPen*hpen,*hpenPrev; – hpen=newCPen(kiểu,độrộng,màu); – hpenPrev=dc.SelectObject(hpen); – Vẽđốitượng – deletedc.SelectObject(hpenPrev); Bútvẽ,chổivẽ• Bútvẽ(CPen)• Kiểu: – PS_SOLID bútvẽđặc – PS_DASH bútvẽgạch – PS_DOT bútvẽchấm – PS_DASHDOT bútvẽchấmgạch• Ngoàiracòncóthểtạobútvẽbằng: – GetStockObject,CreatePenIndirect Bútvẽ,chổivẽ• Chổivẽ(CBrush)• Cáchdùng: – CPaintDCdc(this);//hayCClientDCdc(this) – CBrush*hbrush,*hbrushPrev;; – hbrush=newCBrush([kiểu,]màu); – hbrushPrev=dc.SelectObject(hbrush); – Vẽđốitượng – deletedc.SelectObject(hbrushPrev); Bútvẽ,chổivẽ• Chổivẽ(CBrush)• Kiểu: – HS_BDIAGONAL; – HS_CROSS; – HS_DIAGCROSS; – HS_FDIAGONAL; – HS_HORIZONTAL; – HS_VERTICAL;• Ngoàiracòncóthểtạochổivẽbằng: – CreateSolidBrush,CreateHatchBrush,CreatepatternBrush, CreateBrushIndirect•H ết