2012-12-27 41 views
5

Không thể understnand gì là sai với mã này:HBITMAP để bitmap chuyển đổi

HBITMAP bm = 0; 
BITMAP Bitmap; 
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 
int error = GetObject(&Bitmap, sizeof(BITMAP ), &bm); 

Các LoadImage hàm trả về con trỏ null không. Tuy nhiên GetObject trả về 0, cho biết lỗi. Tôi muốn lấy thông tin về kích thước và dữ liệu hình ảnh từ con trỏ HBITMAP (con trỏ có thể được chuyển thành tham số, vì vậy tôi không thể thay đổi cách tải tệp bitmap).

Trả lời

8

lẽ đặt các thông số ở các vị trí thích hợp sẽ giúp:

HBITMAP bm = 0; 
BITMAP Bitmap; 
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 
int error = GetObject(bm, sizeof(BITMAP), &Bitmap); // << NOTE ORDERING 

Xem tài liệu trên GetObject() để biết thêm.

+0

Cảm ơn, nó đang hoạt động :) – maximus

+0

@maximus Không sao cả. rất vui được giúp đỡ. – WhozCraig

Các vấn đề liên quan