如何实现从一种颜色的渐变效果(如从深红-红-浅红),RGB()不好用,但又没有SHL()这个函数。

snowedforest 2001-07-09 03:37:04
...全文
754 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowedforest 2001-07-10
  • 打赏
  • 举报
回复
谁有更好的方法,还有5分可以送。
snowedforest 2001-07-10
  • 打赏
  • 举报
回复 1
我做好了。
 
CurrenOfColorValue=(CurrentValue-MinValue)/(MaxValue-MinValue)*255*2
if CurrentOfColor>255 then
being
RedValue=255
GreenValue=CurrentOfColor-255
BlueValue=GreenValue
end
else
begin
RedValue=CurrentOfColor
GreenValue=0
BlueValue=0
end
theColorIWant=RGB(RedValue,GreenValue,BlueValue)

谢谢blucecat,执行结果很漂亮,15分请笑纳。
whatname 2001-07-09
  • 打赏
  • 举报
回复
关注
blucecat 2001-07-09
  • 打赏
  • 举报
回复
procedure TForm1.FormPaint(Sender: TObject);
var
i:word;
dy,y:real;
begin
dy:=clientheight/256;
y:=0;
for i:=0 to 255 do
begin
canvas.brush.color:=$000000ff+i*$10000;
canvas.fillrect(rect(0,round(y),clientwidth,round(y+dy)));
y:=y+dy;
end;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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