C语言读BMP文件的小问题?

zhangzxpan 2011-10-13 10:36:40
用C语言读BMP文件时,发现读出的RGB值有负值的情况,比如当R值大于128时就变成负值,这符合BMP的标准吗?
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
config_man 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 only_lonely 的回复:]
引用 1 楼 delphigis 的回复:

BYTE

请用unsigned 的方式去读取,所谓的负值其实只是因为你用的是signed的方式.. .
[/Quote]
诗人正解
only_lonely 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangzxpan 的回复:]
一眼就看出问题了,看来我是个很挫的程序员了......改好了
[/Quote]
呵,人都有犯糊涂的时候,别放在心上 :)
zhangzxpan 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 only_lonely 的回复:]
引用 1 楼 delphigis 的回复:

BYTE

请用unsigned 的方式去读取,所谓的负值其实只是因为你用的是signed的方式.. .
[/Quote]

一眼就看出问题了,看来我是个很挫的程序员了......改好了
自信男孩 2011-10-13
  • 打赏
  • 举报
回复
你可能是用字符类型去读取的吧,字符是八位的,取值范围为:-2^8 ~ 2^7 - 1;超过128的就会为负值。你可以尝试使用范围较大的字符类型去读取文件的内容,比如unsigned char 或者int类型。
only_lonely 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 delphigis 的回复:]

BYTE
[/Quote]
请用unsigned 的方式去读取,所谓的负值其实只是因为你用的是signed的方式.. .
百事烟 2011-10-13
  • 打赏
  • 举报
回复
BYTE

69,371

社区成员

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

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