DDB怎么转DIB

悠然的二货 2015-09-07 12:17:47
写了一个截图程序,截图功能已经写好,现在的问题是截完图后只有一个位图句柄hBitmap,怎么转成DIB然后保存到剪切板?用的是win32 sdk
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
悠然的二货 2015-09-07
  • 打赏
  • 举报
回复
引用 2 楼 pcradio 的回复:
保存到剪切板只要有位图句柄就可以了

    OpenClipboard(HWND hWnd) ;
    EmptyClipboard() ;
    SetClipboardData (CF_BITMAP, HBITMAP hBitmap ) ;
    CloseClipboard () ;
谢谢,确实可以,我还想问下,如果想保存成bmp文件的话,貌似一定要转换成DIB吧?
worldy 2015-09-07
  • 打赏
  • 举报
回复
截图时候使用的CreateCompatibleBitmap改成使用CreateDIBSection,Bitblt出来的位图就是dib
阿源是少年 2015-09-07
  • 打赏
  • 举报
回复
保存到剪切板只要有位图句柄就可以了

    OpenClipboard(HWND hWnd) ;
    EmptyClipboard() ;
    SetClipboardData (CF_BITMAP, HBITMAP hBitmap ) ;
    CloseClipboard () ;
阿源是少年 2015-09-07
  • 打赏
  • 举报
回复
LONG GetBitmapBits(  HBITMAP hbmp,      // handle to bitmap
  LONG cbBuffer,     // number of bytes to copy
  LPVOID lpvBits     // buffer to receive bits);
+
HBITMAP CreateBitmap(  int nWidth,         // bitmap width, in pixels
  int nHeight,        // bitmap height, in pixels
  UINT cPlanes,       // number of color planes
  UINT cBitsPerPel,   // number of bits to identify color
  CONST VOID *lpvBits // color data array);

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧