可以从 WIA 设备(如数码相机、摄像机、WebCam 等等)中获取 BMP/JPG(同时可获取一个或多个两种方式),只能获取图像到文件中。要获取数据在内存中,需要实现 IDataCallback 才能传送数据,有问题的话可与我联系。
namespace WiaHelper
{
// 消息: 如果图像已准备好,父窗口将收到 WM_COMMAND 消息
// 参数: LOWORD(wParam) 为 IDC_WiaHelper,HIWORD(wParam) 为总的图像个数
// 返回: 如果返回 S_FALSE,将不再传送后继的图像
// 备注: 收到此消息后,可以调用 TransferImage() 获取图像到文件中
const WORD IDC_WiaHelper = 45123;
// 获取 WIA 设备个数
ULONG WINAPI GetDeviceCount();
// 功能: 从 WIA 设备中获取一个图像到文件中
// 返回: 返回 TRUE 表示成功或者用户取消,其它表示失败
// 备注: 如果调用成功,将生成 ptzFileName 指定的图像文件
BOOL WINAPI GetImage(PCTSTR ptzFileName, HWND hParent = NULL);
// 功能: 从 WIA 设备中获取多个图像,并以消息回调的形式通知父窗口
// 返回: 返回 TRUE 表示成功或者用户取消,其它表示失败
// 备注: 如果调用成功,当图像准备好时,父窗口将到 WM_COMMAND 消息,请参看 IDC_WiaHelper 的说明
BOOL WINAPI GetImage(HWND hParent);
// 传送一个图像到文件中
BOOL WINAPI TransferImage(PCTSTR ptzFileName);
};