310
Chương 8: Đồ họa, đa phương tiện, và in ấn
}else {
thumbnailHeight = 50;
thumbnailWidth = Convert.ToInt32(((50F / img.Height) *
img.Width));
}
thumbnail = img.GetThumbnailImage(thumbnailWidth,
thumbnailHeight, null, IntPtr.Zero);
}
private void Thumbnails_Paint(object sender,
System.Windows.Forms.PaintEventArgs e) {
e.Graphics.DrawImage(thumbnail, 10, 10);
}
}
9.
9.
Phát ti ng “beep” c a h th ng
ế
ủ ệ ố
Phát ti ng “beep” c a h th ng
ế
ủ ệ ố
Bạn cần phát một âm thanh đơn giản, chẳng hạn tiếng “beep” của hệ thống.
Sử dụng một hàm không-được-quản-lý Win32 API như
Beep
hay
sndPlaySound
,
hoặc gọi hàm
Beep
của Microsoft Visual Basic .NET.
.NET Framework không chứa bất kỳ lớp được-quản-lý nào thực hiện việc chơi các file âm
thanh, ngay cả tiếng “beep” của hệ thống cũng không. Tuy nhiên, bạn có thể dễ dàng vượt qua
trở ngại này bằng Win32 API hoặc Visual Basic .NET (cấp hàm
Beep
thông qua lớp
Microsoft.VisualBasic.Interaction
). Trong trường hợp thứ hai, bạn phải thêm một tham
chiếu đến Microsoft.VisualBasic.dll (có trong tất cả các phiên bản của .NET Framework).
Ví dụ sau đây sử dụng cả hàm API
Beep
và hàm Visual Basic
Beep
. Chú ý là hàm API sử dụng
loa gắn trong của máy tính và phát âm thanh với tần số (tính bằng Hertz, nằm trong khoảng từ
37 đến 32,767) và thời gian (tính bằng mili-giây) cho trước. Cách này sẽ không phát bất kỳ
âm thanh nào nếu máy tính không có loa gắn trong. Mặt khác, hàm Visual Basic
Beep
phát
tiếng “beep” chuẩn của hệ thống (là một file WAV). Cách này sẽ không phát bất kỳ âm thanh
nào nếu máy tính không có card âm thanh, nếu card âm thanh không được kết nối với loa gắn
ngoài, hoặc nếu Windows được cấu hình là không phát âm thanh (thông qua phần Sounds and
Audio Devices trong Control Panel).