51单片机灰度化16位图 问题
51单片机灰度化16位图(565) 灰度化后全黑了 请指点一下
dowfh=(30*r+59*g+11*b)/100; 这句是从Delphi搬来的,Delphi可以灰度化16位图(565)
这句在51单片机C语言中是不是不能正确计算(就叫它溢出吧) 请指点下!谢谢~
[最优解释]
dowfh定义的类型为double就不会有溢出了
[其他解释]
bad operand type 操作符类型错误
看看指向哪一行 贴一下代码
[其他解释]
移位时 ...编译时出现了错误 C193 :bad operand type
[其他解释]
dowfh定义类型为int
dowfh=(30*r+59*g+11*b)/100; 这句改为
dowfh=30*r;
dowfh+=59*g;
dowfh+=11*b;
dowfh/=100;
成功!可以二值化了!