Hướng dẫn thực hành Lập trình C trên Windows - Đọc và hiển thị tập tin Bitmap

Nút Close dùng đểthoát chương trình

Picture Box dùng đểhiển thịhình ảnh bitmap theo đường dẫn được chọn.

TextBox hiển thị đường dẫn đến tập tin hình ảnh được chọn.

pdf5 trang | Chuyên mục: Visual C++ | Chia sẻ: dkS00TYs | Lượt xem: 1807 | Lượt tải: 4download
Tóm tắt nội dung Hướng dẫn thực hành Lập trình C trên Windows - Đọc và hiển thị tập tin Bitmap, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Đọc và hiển thị tập tin Bitmap 
 Trang 1/5 
ĐỌC VÀ HIỂN THỊ TẬP TIN BITMAP 
Văn Chí Nam - Nguyễn Đức Hoàng Hạ 
Khoa Công nghệ Thông tin, ĐH Khoa học Tự nhiên TP.HCM 
(vcnam@fit.hcmuns.edu.vn, ndhha@fit.hcmuns.edu.vn) 
Phiên bản cập nhật ngày 11/10/2004 
CHƯƠNG TRÌNH 
Viết chương trình theo minh hoạ dưới đây : 
Nút Browse dùng để chọn đường dẫn đến hình ảnh (Bitmap). Xem minh hoạ 
dưới đây : 
Đọc và hiển thị tập tin Bitmap 
 Trang 2/5 
Nút Close dùng để thoát chương trình 
Picture Box dùng để hiển thị hình ảnh bitmap theo đường dẫn được chọn. 
TextBox hiển thị đường dẫn đến tập tin hình ảnh được chọn. 
HƯỚNG DẪN THỰC HIỆN 
Thiết kế giao diện 
1. Mở Project mới dạng Dialog-based đặt tên Project là PictureDemo. 
(File\New\Projects). Chọn OK. 
2. Chọn Dialog based. Sau đó bấm Finish. 
Đọc và hiển thị tập tin Bitmap 
 Trang 3/5 
Đối với Dialog : 
Đối với control PictureBox cũng chọn thực hiện tương tự và chọn giống như 
trong hình sau : 
Đặt ID cho textbox là IDC_FILENAME. 
Đọc và hiển thị tập tin Bitmap 
 Trang 4/5 
Đặt biến (member variable) cho các control PictureBox(IDC_BITMAP) và 
TextBox(IDC_FILENAME) với các tên biến, tên lớp như hình trên. 
VIẾT CODE CHO CHƯƠNG TRÌNH 
FileDialog 
Sử dụng lớp CFileDialog 
Constructor của CFileDialog như sau : 
Explicit CFileDialog( 
 BOOL bOpenFileDialog, 
 LPCTSTR lpszDefExt = NULL, 
 LPCTSTR lpszFileName = NULL, 
 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 
 LPCTSTR lpszFilter = NULL, 
 CWnd* pParentWnd = NULL, DWORD dwSize = 0); 
Các hàm khác có thể quan tâm : GetFileName, GetFileExt, GetFileTitle, 
GetFolderPath. 
Hộp thoại Mở tập tin với CFileDialog: 
CFileDialog OpenDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,"Bitmap 
Files(*.bmp)|*.bmp||",this); 
if (OpenDlg.DoModal() == IDOK) 
{ 
 strPathName = OpenDlg.GetPathName(); 
 //Viết code tiếp ở đây 
Đọc và hiển thị tập tin Bitmap 
 Trang 5/5 
} 
Mở bitmap từ tập tin 
Sử dụng hàm LoadImage: 
HANDLE LoadImage( 
 HINSTANCE hinst, 
 LPCTSTR lpszName, 
 UINT uType, 
 int cxDesired, 
 int cyDesired, 
 UINT fuLoad 
); 
Một ví dụ mở tập tin (mở tập tin Bitmap với tên là m_strFileName) 
bmRead = (HBITMAP) LoadImage(NULL, m_strFileName, 
IMAGE_BITMAP, 0,0 , LR_LOADFROMFILE); 
Viết code cho phần mở tập tin từ file : 
void CC4W6Dlg::OnOK() 
{ 
 // TODO: Add extra validation here 
 CFileDialog 
OpenDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,"Bitmap 
Files(*.bmp)|*.bmp||",this); 
 CString strPathName; 
 if (OpenDlg.DoModal() == IDOK) 
 { 
 strPathName = OpenDlg.GetPathName(); 
 m_strFileName = strPathName; 
 UpdateData(FALSE); 
 HBITMAP bmRead; 
 bmRead = (HBITMAP) LoadImage(NULL, m_strFileName, 
IMAGE_BITMAP, 0,0 , LR_LOADFROMFILE); 
 if (bmRead != NULL) 
 { 
 //bmTemp.DeleteObject(); 
 m_Bitmap.SetBitmap(bmRead); 
 //m_Bitmap là biến đại diện của control PictureBox 
 } 
 } 
} 
Muốn tìm hiểu thêm chi tiết các hàm xem thêm trong MSDN. 

File đính kèm:

  • pdfHướng dẫn thực hành Lập trình C trên Windows - Đọc và hiển thị tập tin Bitmap.pdf