289
Chương 8: Đồ họa, đa phương tiện, và in ấn
ồ họa, video, audio, và in ấn là những dấu hiệu tiêu chuẩn của một client đa năng
truyền thống trên hệ điều hành Microsoft Windows. Khi tiến đến đa phương tiện,
Microsoft .NET Framework hỗ trợ cho vài đặc tính này, trong khi bỏ qua các đặc
tính khác. Ví dụ, bạn sẽ tìm thấy một tập phức tạp các công cụ dùng để thực hiện việc vẽ
trong không gian hai chiều và việc in dựa-trên-sự-kiện với GDI+ và các kiểu thuộc không
gian tên
System.Drawing
. Các lớp này hỗ trợ các hàm Graphics Device Interface (GDI)
nguyên sinh trong Windows API; khiến cho việc vẽ các hình dạng phức tạp, làm việc với tọa
độ và phép biến hình, và xử lý ảnh dễ dàng hơn. Mặt khác, nếu bạn muốn chơi một file audio,
hiển thị một file video, hoặc lấy thông tin về các tác vụ in hiện thời, bạn sẽ cần phải vượt ra
ngoài .NET Framework.
Đ
Các đề mục trong chương này trình bày cách sử dụng các đặc tính nội tại .NET và các thư viện
Win32 nguyên sinh thông qua P/Invoke hoặc COM Interop. Một vài kỹ thuật sẽ được đề cập:
Tìm và sử dụng các font đã được cài đặt (mục 8.1), vẽ hình cuộn được (mục 8.5) và
thumbnail (mục 8.8), cũng như thực hiện chụp màn hình bằng Win32 API (mục 8.6).
Làm việc với các điều kiểm tùy biến owner-drawn (mục 8.3 và 8.4) và xử lý các đối
tượng đồ họa trên màn hình (mục 8.2 và 8.7).
Chơi các file audio và video (bao gồm WAV, MP3, và MPEG) bằng thư viện Quartz có
trong Windows Media Player (mục 8.9, 8.10, và 8.11).
In các văn bản đơn giản và phức tạp (mục 8.13 và 8.14), in text với wrapping (mục
8.15), tạo print preview (mục 8.16), và lấy thông tin về máy in (mục 8.12) và hàng đợi
in bằng WMI (mục 8.17).
1.
1.
Tìm t t c các font đã đ
c cài đ t
ấ ả
ượ
ặ
Tìm t t c các font đã đ
c cài đ t
ấ ả
ượ
ặ
Bạn cần lấy danh sách tất cả các font đã được cài đặt trên máy tính hiện hành.
Tạo đối tượng
System.Drawing.Text.InstalledFontCollection
, tập hợp này chứa
các đối tượng
FontFamily
mô tả tất cả các font đã được cài đặt.
Lớp
InstalledFontCollection
cho phép bạn lấy thông tin về các font đã được cài đặt. Đoạn
mã dưới đây duyệt qua tập hợp font vừa được tạo; mỗi khi tìm thấy một font, nó sẽ tạo một
Label
mới để hiển thị tên font với diện mạo cho trước (kích thước 14 point).
Label
được thêm
vào một
Panel
cuộn được, cho phép người dùng cuộn qua danh sách các font hiện có.
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Text;
public class ListFonts : System.Windows.Forms.Form {
private System.Windows.Forms.Panel pnlFonts;