[原]将BITMAPINFO保存成bmp文件,以及渲染到设备
/*
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, , sizeof(BITMAPINFO));
dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
dib.bmiHeader.biWidth = image->w;
dib.bmiHeader.biHeight =-(int) image->h;
dib.bmiHeader.biPlanes = ;
dib.bmiHeader.biBitCount = ;
dib.bmiHeader.biCompression = BI_RGB;
dib.bmiHeader.biSizeImage = image->w * image->h * ; BITMAPFILEHEADER fileHeader;
fileHeader.bfType = 0x4d42; // BM
fileHeader.bfReserved1 = ;
fileHeader.bfReserved2 = ;
fileHeader.bfSize = image->w * image->h * + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
fileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
CFile file; //保存到文件
if (file.Open("E:\\temp\\1.bmp", CFile::modeCreate | CFile::modeWrite))
{
file.Write(&fileHeader, sizeof(BITMAPFILEHEADER));
file.Write(&dib.bmiHeader, sizeof(BITMAPINFOHEADER));
file.Write(image->data, image->w * image->h * );
file.Close();
} //渲染到设备
SetDIBitsToDevice(this->GetDC()->GetSafeHdc(), , , image->w, image->h,
, , , image->h,
image->data, &dib, DIB_RGB_COLORS);
测试可行
参考:https://www.cnblogs.com/wangguchangqing/p/5432227.html
[原]将BITMAPINFO保存成bmp文件,以及渲染到设备的更多相关文章
- tcpdump抓包并保存成cap文件
		
首选介绍一下tcpdump的常用参数 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接 ...
 - 将HDC保存为BMP文件
		
HDC在MSDN中的全称为:The handle of device context.通常,我们都是用来做相应的显示操作. 熟悉WIN32的朋友对于其应该不会陌生,经常采用GetDC,G ...
 - opencv::将两幅图像合并后,在同一个窗口显示;并将合并的图像流保存成视频文件
		
/** * @file main-opencv.cpp * @date July 2014 * @brief An exemplative main file for the use of ViBe ...
 - python文件目录遍历保存成xml文件代码
		
Linux服务器有CentOS.Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在 ...
 - InputStream流保存成图片文件
		
public void saveBit(InputStream inStream) throws IOException{ ByteArrayOutputStream outStream = new ...
 - Android吧数据保存成xml文件
		
public class MainActivity extends Activity { private List<Person> persons; @Override protected ...
 - 通过FFmpeg将多媒体文件解码后保存成Bmp图像(YUV420 RGB32)
		
/* g++ -o test test.cpp -lavformat -lavcodec -lavutil -lz -lm -lpthread -lswscale */ #include <st ...
 - 将网页中的html代码的table保存成word文件
		
1.后台代码: string nowtime = DateTime.Now.ToString("yyyy-MM-dd"); Response.Clear(); Response.B ...
 - 缓存1 静态缓存-->读库保存成php文件 mkdir-->file_put_contents-->var_export -->include
		
@mkdir()-->file_put_contents-->$data = "<?php\nreturn ".var_export($setting, tru ...
 
随机推荐
- 隐藏按钮button
			
<td> <input id="del" type="button" value="删除" onclick="u ...
 - CentOS7怎样安装Tomcat8.5.38
			
cd /usr/local进入/usr/local目录 mkdir tomcat创建tomcat目录 cd tomcat进入tomcat目录 wget https://mirrors.tuna.tsi ...
 - 大数据之路week07--day06 (Sqoop 的安装及配置)
			
Sqoop 的安装配置比较简单. 提供安装需要的安装包和连接mysql的驱动的百度云链接: 链接:https://pan.baidu.com/s/1pdFj0u2lZVFasgoSyhz-yQ 提取码 ...
 - maven 项目打包配置(build节点)
			
参考博客:https://www.cnblogs.com/Binhua-Liu/p/5604841.html maven-assembly-plugin的使用 : https://www.cnblog ...
 - test20190725 夏令营测试11
			
50+80+90=220.(每题满分90) 砍树 小A在一条水平的马路上种了n棵树,过了几年树都长得很高大了,每棵树都可以看作是一条长度为a[i]的竖线段.由于有的树过于高大,挡住了其他的树,使得另一 ...
 - 在linux系统中安装MySQL
			
1.安装Linux系统中自带的MySQL安装包 在现在常用的发行版本里都集中了MySQL安装包 CentOS系统中的YUM中包含了MySQL安装包,版本是MySQL5,rpm软件包的名称是mysql- ...
 - 项目架构&架构部署&网站分析&网站优化
			
一.架构演变 一个项目至少由三层内容组成:web访问层.数据库层.存储层 初级阶段 单体阶段 常见场景:项目初期 部署特点:所有应用服务都在一台主机 应用特点:开发简单 应用/数据分离阶段 常见场景: ...
 - Codeforces Round #557 题解【更完了】
			
Codeforces Round #557 题解 掉分快乐 CF1161A Hide and Seek Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检 ...
 - 【CPLEX教程01】Cplex介绍,下载和安装Cplex
			
前言 最近学习列生成算法,需要用到优化求解器.所以打算学习一下cplex这个商业求解器. 当然也有其他更多的选择,这里暂时以比较容易上手和性能比较好的cplex开始吧.其实,小编也早就想学习使用这个c ...
 - LOJ6071. 「2017 山东一轮集训 Day5」字符串 [SAM]
			
LOJ 思路 这种计数题显然是要先把每一个合法的串用唯一的方法表示出来.(我连这都没想到真是无可救药了) 如何唯一?容易想到把前缀尽可能多地在第一个串填掉,然后填第二个,第三个-- 如何做到这样?可以 ...