加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[原]将BITMAPINFO保存成bmp文件,以及渲染到设备

发布时间:2020-12-14 04:42:42 所属栏目:大数据 来源:网络整理
导读:/* class Image { public: Image() = delete; Image(const uint32_t _w,const uint32_t _h) :w(_w),h(_h) { data = new byte[w*h * 4]; }; ~Image() { if (data) { delete[] data; } } uint32_t w; uint32_t h; byte* data; }; */ BITMAPINFO dib; memset( d
/*
        class Image
        {
        public:
            Image() = delete;
            Image(const uint32_t& _w,const uint32_t& _h)
                :w(_w),h(_h) {
                data = new byte[w*h * 4];
            };
            ~Image() { if (data) { delete[] data; } }
            uint32_t w;
            uint32_t h;
            byte* data;
        };
*/

        BITMAPINFO dib;
    memset(&dib,0,sizeof(BITMAPINFO));
    dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    dib.bmiHeader.biWidth = image->w;
    dib.bmiHeader.biHeight =-(int) image->h;
    dib.bmiHeader.biPlanes = 1;
    dib.bmiHeader.biBitCount = 32;
    dib.bmiHeader.biCompression = BI_RGB;
    dib.bmiHeader.biSizeImage = image->w *  image->h * 4;

    BITMAPFILEHEADER fileHeader;
    fileHeader.bfType = 0x4d42; // BM
    fileHeader.bfReserved1 = 0;
    fileHeader.bfReserved2 = 0;
    fileHeader.bfSize = image->w * image->h * 4 + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
    fileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
    CFile file;
    
//保存到文件
    if (file.Open("E:temp1.bmp",CFile::modeCreate | CFile::modeWrite))
    {
        file.Write(&fileHeader,sizeof(BITMAPFILEHEADER));
        file.Write(&dib.bmiHeader,sizeof(BITMAPINFOHEADER));
        file.Write(image->data,image->w * image->h * 4);
        file.Close();
    }

//渲染到设备
    SetDIBitsToDevice(this->GetDC()->GetSafeHdc(),image->w,image->h,0,image->data,&dib,DIB_RGB_COLORS);
    

    

?测试可行

参考:https://www.cnblogs.com/wangguchangqing/p/5432227.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读