| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:请教一个简单的问题?望赐教已解决
只看楼主 加入收藏
haiboself
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:196
注 册:2013-10-23
结帖率:100%
收藏
 问题点数:0 回复次数:2 
请教一个简单的问题?望赐教已解决
有时候我们需要修改颜色某一位的值,这时,可以通过位运算来实现。比如,我们想把某一个点的颜色的红色部分去掉,可以这么做:
int c = getpixel(100, 100);
c &= 0xffff00;
putpixel(100, 100);

位运算是对于二进制数据而言的
0xffff00是16进制啊
还有0xfff0表示的是什么?16进制的表示和字母有什么关系?

[ 本帖最后由 haiboself 于 2013-11-23 18:06 编辑 ]
搜索更多相关主题的帖子: 二进制 字母 
2013-11-23 17:58
qq404380
Rank: 2
等 级:论坛游民
帖 子:32
专家分:53
注 册:2012-7-23
收藏
得分:0 
0xfff0 里的0x 代表的是后面的数字是以16进制表示的,fff0 转化为二进制 1111 1111 1111 0000
2013-11-29 01:06
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
;
十六进制,二进制只是数据的一种表示形式,对计算机而言,处理的都是二进制数据,32位颜色存储形式是,红绿蓝各占8位,也就是一组0xffff00,去除红色部份,只要把对应红色值置为0就可以

[ 本帖最后由 heroinearth 于 2013-11-29 09:54 编辑 ]
2013-11-29 09:45
快速回复:请教一个简单的问题?望赐教已解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061623 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved