tailieunhanh - Lập trình Windows Thư viện đồ họa GDI (phần 3)

Nguyên tắc cơ bản về in ấn Print job Banding Spooling Printer DC Một chương trình in đơn giản dùng API, rất thú vị để lấy cảm hứng để làm việc với thư viện GDI | In ấn Printing Tổng quan về in ấn trong Windows In ấn trong MFC C4W - GDI - Nguyen Tri Tuan - Summer 2004 41 In ấn Printing - Tổng quan về in ấn trong Windows Nguyên tắc cơ bản về in ấn Print job Banding Spooling Printer DC Một chương trình in đơn giản dùng API C4W - GDI - Nguyen Tri Tuan - Summer 2004 42 21 In an Printing - Tổng quan về in ấn trong Windows. tt Nguyên tắc cơ bản về in ấn Tạo DC của máy in bằng cách dùng lệnh CreateDC hoặc dùng hộp thoại PrintDlg Gọi hàm startDoc để bắt đầu in một tài liệu mới Gọi hàm startPage để bắt đầu 1 trang in Gọi các hàm vẽ của GDI để thể hiện văn bản text hay hình ảnh bitmap graphics ra trang in Gọi hàm EndPage để kết thúc 1 trang in Gọi hàm EndDoc để kết thúc in tài liệu Note Các hàm StartDoc EndDoc StartPage EndPage đều thuộc thư viện GDI Bước 3 4 5 có thể làm nhiều lần nếu muốn in trên nhiều trang C4W - GDI - Nguyen Tri Tuan - Summer 2004 43 In ấn Printing - Tổng quan về in ấn trong Windows. tt C4W - GDI - Nguyen Tri Tuan - Summer 2004 44 22 In an Printing - Tổng quan về in ấn trong Windows. tt Print job tác vụ in Là một tài liệu cần in Có thể chứa 1 hay nhiều trang in Print job được định nghĩa bởi 1 cặp lệnh StartDoc EndDoc Cấu trúc dữ liệu được dùng cho print job là Enhanced Metafile EMF EMF cấu trúc dùng để lưu trữ các lệnh vẽ text vẽ đồ họa . C4W - GDI - Nguyen Tri Tuan - Summer 2004 45 In ấn Printing - Tổng quan về in ấn trong Windows. tt Banding GDI lưu trữ các lệnh vẽ lên máy in trong một file có dạng EMF .TMP Enhanced Metafile Khi ứng dụng kết thúc in ấn 1 trang bằng lệnh EndPage printer driver sẽ chuyển đổi các lệnh vẽ trong metafile thành các kết xuất thực sự trên máy in à cần thiết phải tạo ra 1 trang đồ họa Kích thước bộ nhớ cho 1 trang đồ họa khá lớn VD. Máy in 600DPI giấy letter cần khoảng 4Mb Do đó printer driver thường sử dụng kỹ thuật chia band chia 1 trang đồ họa thành nhiều vùng hình chữ nhật GDI sẽ lấy kích thước band từ printer