• Thứ Hai, 12/02/2007 09:14 (GMT+7)

    Hướng dẫn lập trình C++ xuất file *.bmp ra màn hình?

    Lượt xem 2940
    Đánh giá

    Câu hỏi :
    Xin hướng dẫn lập trình C++ xuất file *.bmp ra màn hình? 


    Trả lời :
    Để xuất file ảnh *.bmp ra cửa sổ màn hình ứng dụng, bạn có thể dùng các hàm API Windows khác nhau, trong đó 2 hàm chính yếu là LoadImage() để nạp file ảnh vào bộ nhớ và hàm BitBlt (hay StretchBlt) để hiển thị ảnh lên cửa sổ màn hình. Sau đây là đoạn code VC++ điển hình để hiển thị file ảnh c:\test.bmp lên Form ứng dụng hiện hành:

     //nạp file ảnh vào đối tượng Bitmap
     HBITMAP hbm = (HBITMAP)LoadImage( NULL, "c:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE );
     //kiểm tra, nếu thất bại thì dừng công việc
     if (hbm == NULL) return;
     //xác định Device context của form
     HDC hdc = this->GetDC()->m_hDC;
     //tạo 1 Device context mới tương thích với form
     HDC hdcTemp = CreateCompatibleDC(hdc);
     //chứa đối tượng bitmap vào DC mới
     SelectObject(hdcTemp, hbm);
     //xác định kích thước của bitmap.
     BITMAP bm;
     GetObject(hbm, sizeof(BITMAP), &bm);
     //hiển thị bitmap lên vị trí (50,50) của form.
     BitBlt(hdc, 50, 50, bm.bmWidth + 50, bm.bmHeight + 50, hdcTemp, 0, 0, SRCCOPY);
     //giải phóng DC của form
     ::ReleaseDC(m_hWnd,hdc);
     
    Ý kiến phản hồi và bình luận      Gởi ý kiến của bạn ?
    Chuyên mục: Lập trình