[原]将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 ...
随机推荐
- React组件库Ant Design的安装与使用
一.什么是 Ant Design 1.Ant Design 提炼自企业级中后台产品的交互语言和视觉风格 2.Ant Design 使用 TypeScript 构建,提供完整的类型定义文件 二.Ant ...
- DevExpress GridControl 使用瀑布加载方式加载数据
从事winform开发已经快三年了,这三年中两年使用DevExpress控件进行winform系统开发,对Dev控件有自己的一些思考,下面就常用的表格控件GridControl的分页进行一些讨论. 在 ...
- 《ABCD组》第九次团队作业:Beta冲刺与验收准备
<ABCD组>第九次团队作业:Beta冲刺与验收准备 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 http ...
- Python 过滤a文件中每一行内容,保存到b文件中
#coding=utf-8print 1#初始化文件crash_log.log with open('e:/1/crash_log.log','w')as f: f.close() def fw(se ...
- *JavaScript标准参考教程 - 阮一峰
参考 页向对象编程的模式(继承&模块化)
- Logparser
http://www.microsoft.com/en-us/download/details.aspx?id=24659 Logparser 的用法 https://www.cnblogs.com/ ...
- learning java AWT BoxLayout布局管理器
import javax.swing.*; import java.awt.*; public class BoxSpaceTest { private Frame f = new Frame(&qu ...
- Win32 Error Code COM Error Code NTSTATUS的区别、转换
这三种码其实都是Windows系统错误码,只是对应不同API和使用场景.它们既有区别,又相互有联系. 一.区别和联系 都是32位值 Win32 Error Code和NTSTATUS位域组成相同,但W ...
- element-ui upload上传组件问题记录
element-ui upload上传组件遇到的问题
- Code Chef October Challenge 2019题解
传送门 \(MSV\) 设个阈值搞一搞就行了 //quming #include<bits/stdc++.h> #define R register #define pb emplace_ ...