请问256位色bmp图里多少表示白色?

happyll 2004-12-10 09:09:45
我知道
0是黑色
那请问多少是白色呢?
我想把一些像素修改成白色
...全文
448 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyll 2005-01-13
  • 打赏
  • 举报
回复
原来是bmp图除了问题
别的图都能显示白色
MZP 2004-12-17
  • 打赏
  • 举报
回复
256色bmp图,要看调色板的。
没有所谓的黑色,白色,只有索引颜色(调色板颜色)。
happyll 2004-12-17
  • 打赏
  • 举报
回复
多谢
原来是我的机子的问题
在别人的机子上显示的是白色
我的机子上显示的是灰色
就是16777215

我的机子的颜色总和别人的不一样
我的机子是celeron 266
是不是和CPU有关系??
andrew_ma 2004-12-13
  • 打赏
  • 举报
回复
16777215 = OxFFFFFF
就是白色
wlzqi 2004-12-12
  • 打赏
  • 举报
回复
255
happyll 2004-12-10
  • 打赏
  • 举报
回复
是256色位图
谢谢提醒:)
happyll 2004-12-10
  • 打赏
  • 举报
回复
函数是这个

BOOL WINAPI AddPixel(LPSTR lpDIBBits,CPoint Addpoint,LONG lWidth,LONG lHeight,BOOL add)
//增删点时候调用
//增的时候,画黑点
//删的时候画白点
{
//指向原图的指针
unsigned char* lpSrc;

//图像每行的字节数
LONG lLineBytes;

//计算图像每行字节数
lLineBytes=WIDTHBYTES(lWidth*8);

//画10个点
for(int j=0;j<10;j++)
{
for(int i=0;i<10;i++)
{
//指向鼠标点中点的像素的指针
lpSrc=(unsigned char*)lpDIBBits+lLineBytes*(lHeight-1-Addpoint.y-j)+Addpoint.x+i;

if(add==1)
//如果是增点
{
//变此点为黑色
*lpSrc=0;
}
else if(add==-1)
//如果是删点
{
//变此点为白点
*lpSrc=16777215;
}
}
}
//返回
return TRUE;
}

我是想问换算成数字
白色是多少??
谢谢楼上二位
Elsie 2004-12-10
  • 打赏
  • 举报
回复
你的题目有笔误……
是256色BMP还是其它?
如果是256色BMP,它是有调色板的,找到调色板里白色的索引,然后把要改动的像素索引改成白色的那个序号
白色的RGB分量表示如楼上所说,RGB(255,255,255)
CodeProject-Jerry 2004-12-10
  • 打赏
  • 举报
回复
RGB( 255, 255, 255)
niuman 2004-12-10
  • 打赏
  • 举报
回复
255
酒红绿叶 2004-12-10
  • 打赏
  • 举报
回复
Elsie(小薝) ( )
说得很对。

if(add==1)
//如果是增点
{
//变此点为黑色
*lpSrc=0;
}

根据这里的说法。应该是256色灰度。
所以白色可以直接赋为255;

*lpSrc=16777215;

16777215是255的整数倍。
BYTE 是有上限的。的数字溢出时还会重新计数。
我估计*lpSrc=16777215;在结果出来的时候,还是*lpSrc=255;
的。
zw4u 2004-12-10
  • 打赏
  • 举报
回复
*lpSrc=16777215;
这个数字是什么?
不懂

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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