bmp格式,

guzhijie1981 2010-05-20 11:14:57
麻烦各位看下,
我现在的问题如下:
一张bmp图片的buffer ;我在buffer的特定位置填入0x00. 图片是argb组成象素的。我本来是打算画条黑色的线(0x00)但是我发现我的图片的线条是糊的;不知道有人遇到过没有;
代码入下

FILE_HEAD_INFO file_head;
BMP_HEAD_INFO bmp_head;
FILE *fp = NULL;
file_head.bftype = 0x4d42;
file_head.bfsize = 54 + surface->getBufferLength();
file_head.reserved1 = 0;
file_head.reserved2 = 0;
file_head.bfoffbits = 54;

bmp_head.bmsize = 40;
bmp_head.bmwidth = width;
bmp_head.bmheight = height;
bmp_head.bmplanes = 1;
bmp_head.bmcount = 32;
bmp_head.bmcompression = 0;
bmp_head.imgsize = surface->getBufferLength();
bmp_head.xper = 0x0b12;
bmp_head.yper = 0x0b12;
bmp_head.clruse = 0;
bmp_head.clrimp = 0;
fp = fopen("/sdcard/a.bmp", "wb");

if (fp)
{
fwrite(&file_head, 1, 14, fp);
fwrite(&bmp_head, 1, 40, fp);
for (int i = 0; i < ceil(height); i++)
fwrite(buffer + i * lineLen, 1, lineLen, fp);
fclose(fp);
}

这个是我写到文件里面的代码。buffer是经过处理的图片象素数组。这样处理过
memset(buffer + offset * pixLen, 0x00, ::ceil(xLastMax - xLastMin) * pixLen);
麻烦各位给看看
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Normandie007 2010-05-20
  • 打赏
  • 举报
回复
1像素宽太细了,如果是水平或者垂直的那看起来更细,斜的话应该稍微好点。
看了一下,算法应该没问题
lida2003 2010-05-20
  • 打赏
  • 举报
回复
单像素,角度问题。

自己那张带格子的纸,去画条36度的线,自己看看,就知道原因了。
guzhijie1981 2010-05-20
  • 打赏
  • 举报
回复
能够看到的;但是为什么同样画线,有的很清晰;有的很模糊
guzhijie1981 2010-05-20
  • 打赏
  • 举报
回复
Awang_126 2010-05-20
  • 打赏
  • 举报
回复
一个像素太小了吧,也就是画出来的线非常的细,能不能加粗下看看?
wesleyluo 2010-05-20
  • 打赏
  • 举报
回复
学习下。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧