1
Lp trình C trên Windows
Thư vin đồ ha GDI
(Graphics Device Interface)
Nguyn Tri Tun
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email: nttuan@ fit.hcmuns.edu.vn
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 2
Ni dung
Gii thiu
Các khái nim cơ bn
Các ví d v hình đồ ha
Xnh Bitmap
In n (Printing)
2
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 3
Gii thiu
GDI là thư vin cung cp các hàm
(functions) và các cu trúc d liu
(structures) cn thiết để ng dng to ra
nhng kết xut dưới dng đồ ha (hin th
lên màn hình, in ra máy in,…)
Các hàm GDI cho phép v đường thng,
đường cong, các hình đa giác, xut ký t,
hin th nh bitmap, in n,…
GDI không tương tác trc tiếp vi thiết b
phn cng, mà thông qua các driver
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 4
Các khái nim cơ bn
Thiết b đồ ha (Graphics device)
Ng cnh ca thiết b (DC - Device Context)
DC trong MFC
Đối tượng v (Drawing object)
Đối tượng v trong MFC
3
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 5
Các khái nim cơ bn - Thiết b đồ ha
Thiết b đồ ha (Graphics device): là nhng
thiết b cho phép th hin các kết xut dng
đồ ha trên đó
Thiết b vt lý (physical device): là nhng thiết b
tht như màn hình, ca s, máy in,…
Thiết bo” (logical device): là các thiết b được
gi lp trong b nh, còn gI là “memory
device”, có tác dng mô phng thiết b vt lý
Thư vin GDI cho phép thc hin các lnh
v trên c thiết b vt lý ln logic
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 6
Các khái nim cơ bn - Ng cnh ca thiết b
Ng cnh ca thiết b (Device Context): là
mt cu trúc lưu tr các thông s ca thiết b
đồ ha, ví d:
Chế độ v hin ti (drawing mode),
V trí bút v hin ti (pen position),
Các đối tượng v hin ti (Pen, Brush, Font)
Các thông s này chi phi nhng thao tác v
lên thiết b ti thi đim thc hin
Mi thiết b được đặc trưng bi 1 cu trúc
DC
4
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 7
Các khái nim cơ bn - Ng cnh ca thiết b…(tt)
ng dng thc hin các thao tác v lên thiết
b thông qua DC ca thiết b đó
DC được xem như là mt phương tin liên
kết gia ng dng và thiết b, giúp to nên
tính độc lp thiết b (Device Independent)
cho ng dng
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 8
Các khái nim cơ bn - Ng cnh ca thiết b…(tt)
Ta độ hin hành ca Pen
(MoveTo, LineTo)
(0, 0)Current Pen
Position
Bút v, s dng khi v đường thng,
đường cong
(CreatePen, CreatePenIndirect,
SelectObject)
BLACK_PENPen
Font ch khi xut ký t
(CreateFont,
CreateFontIndirect,
SelectObject)
SYSTEM_FONTFont
Màu ký t (SetTextColor)
BlackText color
Màu nn khi xut ký t (SetBkColor)
WhiteBackground
color
Ý nghĩa/Các hàm liên quanGía tr mc địnhThuc tính
Mt s thuc tính do DC qun lý
5
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 9
Các khái nim cơ bn - Ng cnh ca thiết b…(tt)
(CreateBitmap,
CreateBitmapIndirect,
CreateCompatibleBitmap,
SelectObject)
NULLBitmap
Ý nghĩa/Các hàm liên quanGía tr mc địnhThuc tính
Chế độ v. Xác định cách phi hp các
bit màu ca 2 pixel có cùng ta độ
(SetROP2)
R2_COPYPENDrawing
mode
Màu tô, s dng khi tô màu các vùng kín
(CreateSolidBrush,
CreateBrushIndirect,
CreatePatternBrush,
SelectObject,…)
WHITE_BRUSHBrush
Mt s thuc tính do DC qun lý
Summer 2004C4W - GDI - Nguyen Tri Tuan - DH.KHTN Tp.HCM 10
Các khái nim cơ bn - Ng cnh ca thiết b…(tt)
Ý nghĩa/Các hàm liên quanGía tr mc địnhThuc tính
……
Xác định đơn v đo. VD.
- MM_TEXT qui định đơn v đo theo
trc x,y là 1 pixel.
- MM_HIMETRIC qui định đơn v đo
theo trc x,y là 0.01 milimet
(SetMapMode)
MM_TEXTMapping
mode
Bng màu
(CreatePalette,
RealizePalette,
SelectPalette,
UnrealizeObject )
DEFAULT_PALETTEColor
Palette
Mt s thuc tính do DC qun lý