读取BMP文件出错
int temp;
int YZM_red[][];
int YZM_green[][];
int YZM_blue[][];
int YZM[][];
FILE *fp = fopen(BMP_filename,"rb");
if(fp == NULL)
{
AfxMessageBox("读取失败!");
}
else
{
for(i=0;i<54;i++)
temp = fgetc(fp);
for(y=H-1;y>=0;y++)
{
for(x=0;x<W;x++)
{
YZM_red[x][y] = fgetc(fp);
YZM_green[x][y] = fgetc(fp);
YZM_blue[x][y] = fgetc(fp);
}
}
fclose(fp);
for(x=0;x<W;x++)
{
for(y=0;y<H;y++)
{
if(YZM_red[x][y]*0.3+YZM_green[x][y]*0.6+YZM_blue[x][y]*0.1<200)
YZM[x][y] = 1;
else
YZM[x][y] = 0;
}
}
CString str;
for(y=0;y<H;y++)
{
for(x=0;x<W;x++)
{
str += YZM[x][y];
}
str += "\n";
}
AfxMessageBox(str);
编译通过。但读取BMP文件出错,提示内存不能写。
int YZM_red[][];
int YZM_green[][];
int YZM_blue[][];
int YZM[][];
FILE *fp = fopen(BMP_filename,"rb");
if(fp == NULL)
{
AfxMessageBox("读取失败!");
}
else
{
for(i=0;i<54;i++)
temp = fgetc(fp);
for(y=H-1;y>=0;y++)
{
for(x=0;x<W;x++)
{
YZM_red[x][y] = fgetc(fp);
YZM_green[x][y] = fgetc(fp);
YZM_blue[x][y] = fgetc(fp);
}
}
fclose(fp);
for(x=0;x<W;x++)
{
for(y=0;y<H;y++)
{
if(YZM_red[x][y]*0.3+YZM_green[x][y]*0.6+YZM_blue[x][y]*0.1<200)
YZM[x][y] = 1;
else
YZM[x][y] = 0;
}
}
CString str;
for(y=0;y<H;y++)
{
for(x=0;x<W;x++)
{
str += YZM[x][y];
}
str += "\n";
}
AfxMessageBox(str);
编译通过。但读取BMP文件出错,提示内存不能写。
...全文
相关推荐
易语言BMP文件查看源码.rar
**错误处理**:任何文件读取和图像处理操作都可能出错,因此源码中会有错误检查和异常处理机制,确保程序的健壮性。8.
单片机TFT彩屏16位真彩bmp图片一键转换神器
摘要:作者在开发使用ST7735驱动的0.96寸TFT彩屏项目时,面对上百张16位真彩图片需要手动处理BIN文件转换和地址计算的繁琐工作,耗时两天且易出错。为此,作者使用Devc++开发了一款自动化工具,该工具能批量处理BMP图片转换,自动生成合并的BIN文件和记录地址的TXT文件。软件操作简单,只需放入图片文件夹运行即可,3秒内完成200张以内16位真彩图片的处理(不支持24位图片),显著提高了工作效率并减少人工计算错误。
bmp085驱动程序,已经经过了测试
**BMP085.c和BMP085.h**:这两个文件是C语言编写的源代码和头文件,分别包含了驱动程序的实现和接口定义。
解决AxWebBrowser控件显示office2007文档 BMP图片出错问题
**代码级处理**:在程序中,你可以编写代码来预处理Office文档,确保其内嵌的BMP图片符合控件的兼容性需求。这可能涉及到读取BMP文件,重新编码,然后再嵌入到文档中。5.
bmp图像文件在opengl下的使用
解析文件头:读取并解析文件头,获取图像的宽度、高度、位深度以及数据区的位置。3. 读取像素数据:跳过文件头,直接读取像素数据。BMP文件通常以行优先的方式存储像素,即从左到右、从下到上顺序排列。4.


图形处理/算法
