c语言截图代码,截图代码 哪位大神帮我找一下错,截出来的图是这样子的
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
终于找到了,前段时间研究jpg的时候,顺便做的一个实验,直接输出bmp文件。参考了微软的一个很老的代码里的字节对齐。。但愿对你有帮助吧。
#include
#include
// showdib.h 157行,字节对齐
#define WIDTHBYTES(i) ((i+31)/32*4)
int main()
{
BITMAPINFOHEADER bi;
memset(&bi, 0, sizeof(BITMAPINFOHEADER));
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = 25;
bi.biHeight = 25;
bi.biPlanes = 1;
bi.biBitCount = 24;
bi.biClrUsed = 0;
bi.biClrImportant = 0;
bi.biCompression = BI_RGB;
DWORD img_size = (DWORD)WIDTHBYTES(bi.biWidth * bi.biBitCount) * bi.biHeight;
BITMAPFILEHEADER bmfh;
bmfh.bfType = 0x4d42;
bmfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + img_size;
bmfh.bfReserved1 = 0; // must be 0
bmfh.bfReserved2 = 0;
bmfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
unsigned char *img_data = new unsigned char[img_size];
unsigned char *p = img_data;
for(int i = 0; i < bi.biHeight; i++)
{
p += WIDTHBYTES(bi.biWidth*bi.biBitCount);
for(int j = 0; j < bi.biWidth * 3; j+=3)
{
*(p+j) = 0;//B
*(p+j+1) = 0;//G
*(p+j+2) = 255; //R
}
}
/// 神奇,居然写成功了。
FILE *fp = fopen("y.bmp", "wb");
fwrite(&bmfh, sizeof(BITMAPFILEHEADER), 1, fp);
fwrite(&bi, sizeof(BITMAPINFOHEADER), 1, fp);
fwrite(img_data, img_size, 1, fp);
fclose(fp);
delete[] img_data;
}
输出一个25*25红色的bmp文件,大至关键点有三个,第一,是以二进制方式写,第二,像素点写入顺序是BGR,也就是绿兰红,第三就是那个字节对齐问题。仅供你参考。
c语言截图代码,截图代码 哪位大神帮我找一下错,截出来的图是这样子的相关推荐
- 赫夫曼编码c语言 排序部分,c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错...
c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错0 youxun0952016.09.07浏览120次分享举报 #include #include #include typedef struc ...
- 机顶盒ttl无法输入_哪位大神帮帮忙,B860 AV1.1 TTL 无法输入命令
本帖最后由 wuli小茶 于 2018-1-27 11:10 编辑 求大神帮我下,请问这是什么情况,我想刷机,买了CH340G型号的USB转TTL模块,按教程连接后打开SecureCRT或putty都 ...
- ofdm解调中 累加器(2048个离散波点)代替积分 程序 哪位大神帮帮忙完全没有头绪
ofdm解调中 积分 那部分可以用累加器代替 rom是512个点 一个T码元周期里有2048个点 与载波相乘之后的 累加器 完全不懂怎么写 求大神指导 写个程序参考 (T=2048) MULT输出的 ...
- java thread 无法执行_哪位大神帮我讲一下这段代码,为什么线程不能继续执行
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.A ...
- c语言二进制转十六进制编程,哪位大神有 二进制转十六进制C语言程序
满意答案 qraalapke 2017.04.12 采纳率:52% 等级:8 已帮助:162人 #include #include void convert(char *input, char ...
- c语言模拟多级反馈队列调度算法实验报告,求助多级反馈队列调度算法的实现,哪位大神帮帮忙啊...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [问题描述] 多级反馈队列调度算法是操作系统中CPU处理机调度算法之一,该算法既能使高优先级的进程(任务)得到响应又能使短进程(任务)迅速完成.UNIX操 ...
- matlab 2010无法运行程序,matalb r2010a安装后打开出现一系列警告,无法运行,哪位大神帮...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Matlab R2010a安装完成后的错误:Warning: D:\Program Files\MATLAB\R2010b\toolbox\local\p ...
- 手机写python脚本_手机需要,哪位大神帮编个Python脚本,谢谢
#! /usr/bin/python import re Des = 'My Documents/MM' Source = 'Storage Card/Program Files/MobileMark ...
- c语言ns流程图1 2,请各位大神帮个忙,画个NS流程图,,急!!!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求平均成绩的!! #include #define M 5 #define N 3 void main() { void average_score(fl ...
最新文章
- 一种可以避免数据迁移的分库分表scale-out扩容方式
- 看动画轻松理解“递归”与“动态规划”
- 独家 | 是什么让数据科学家从优秀变得伟大?
- PHP-Curl模拟HTTP请求
- Codejock Xtreme Toolkit Pro v12.0.0 Full Release
- savexml php,PHP DOMDocument saveXML()用法及代码示例
- Loj #149. 01 分数规划(01分数规划模板题)
- 图解丨在嵌入式设备上实现HTTP服务器
- ubuntu共享文件夹文件看不到_实验08:轻松搭建文件夹共享
- java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...
- Active Directory系列之二:部署第一个域
- Discuz = 7.2 SQL注入漏洞详情
- ECCV2020 | CPNDet:Anchor-free两阶段的目标检测框架,详解
- sysbench压测cpu,io,memory,threads,mutex
- delphi盒子那些软件商店里的年轻人
- 软件反破解的几个思路
- 平面设计师okr_还在头疼怎么写OKR,这可能是最全的落地指导手册了
- 最新手机语音助手的调研
- 求大神解答!!!!在线死等!
- SheetJS生成/解析Excel
热门文章
- GIF动画解析RNN,LSTM,GRU
- DRDS分布式SQL引擎—执行计划介绍
- MSSQL · 最佳实践 · 利用文件组实现冷热数据隔离备份方案
- HIRO 部署新一代可扩展边缘微型数据中心
- 谁说技术男不浪漫!90后程序员2天做出猫咪情绪识别软件
- 打破云原生时代存储瓶颈,SmartX 发布 K8s 云原生存储 IOMesh
- 从程序员到上市公司合伙人,怎么少踩坑?
- 浪潮商用机器亮相金博会 夯实新常态下金融科技发展基石
- 突发!Python再次第一,Java和C下降,凭什么? ​
- java queue源码_Java高并发系列之ArrayBlockingQueue源码解析