procedure Tform1.hsv2rgb(Hue:Thue;saturation,value:byte;var red,green,blue:byte);
var
f,h,m,n:Double;
a:integer;
w,y,z:byte;
begin
m:=saturation/255;
if m=0 then //这里出错显示“left side cannot be assigned to”
red:=green:=blue:=value
else
begin
h:=hue/60;
a:=hue div 60;
f:=h-a; //这里显示“incompatible type:‘byte’and‘extended’
w:=value*(1-m);//同上一句同样的错误
y:=value*(1-m*f);//同上一句同样的错误
z:=value*(1-m*(1-f));//同上一句同样的错误
case a of
0: red:=value,green:=k,blue:=m;
1: red:=y,green:=value,blue:=m;
2: red:=w,green:=value,blue:=k;
3: red:=w,green:=n,blue:=value;
4: red:=z,green:=m,blue:=value;
5: red:=value,green:=m,blue:=n;
end;
end;
var
f,h,m,n:Double;
a:integer;
w,y,z:byte;
begin
m:=saturation/255;
if m=0 then //这里出错显示“left side cannot be assigned to”
red:=green:=blue:=value
else
begin
h:=hue/60;
a:=hue div 60;
f:=h-a; //这里显示“incompatible type:‘byte’and‘extended’
w:=value*(1-m);//同上一句同样的错误
y:=value*(1-m*f);//同上一句同样的错误
z:=value*(1-m*(1-f));//同上一句同样的错误
case a of
0: red:=value,green:=k,blue:=m;
1: red:=y,green:=value,blue:=m;
2: red:=w,green:=value,blue:=k;
3: red:=w,green:=n,blue:=value;
4: red:=z,green:=m,blue:=value;
5: red:=value,green:=m,blue:=n;
end;
end;
解决方案 »
- 关于用printdbgrideh打印dbgrideh中数据的问题
- 50分 数据库小程序
- delphi2009调用dll返回值乱码?急 急 急 急
- 如何清空数据库、如何使用DriveComboBox控件?
- on line! TMidasPageProduct组件在什么地方啊
- 怎么用断点调试时看不出调试结果?方法是我没有用来,请你指点好吗?
- 请问有没有方法可以使计算机在网上隐形?在网上邻居看不到计算机名就可以?
- WinINet 下载时有不规则停顿!
- 还有多少人在坚守Delphi的阵营?
- 即答即得:一个很简单的关于多表查询的问题。
- 問前輩們一個問題:寫程序與寫文檔是如何同步的....,100分
- 那里有delphi7。0下载
这句肯定错了,
PASCAL里不允许这样做的,呵呵f:=h-a; //这里显示“incompatible type:‘byte’and‘extended’
w:=value*(1-m);//同上一句同样的错误
y:=value*(1-m*f);//同上一句同样的错误错误是,类型不匹配,
把extended 赋 给byte
是不允许的呀。后面的CASE语句好象也有问题。
自己看看吧