Delphi ArcEngine 三种颜色获取方法

//从 RGB 值 获得颜色 应该是 编程中用的最多的方式,所以 我提供了两个函数 一个是 将Delphi中的Tcolor 转换到 ae 的 IRgbColor

//另一个是 由 Rgb 值 得到 IRgbColor


//将Delphi中的 Tcolor 转换成 ae 中 的 IrgbColor

//TColor 可以从很多控件的 Color 属性获得,或者 可以从 很多 颜色选择控件获得

function  TColor2IColor(value: TColor): IRgbColor;

var

   R, G, B  : Integer;
begin
   R := value and $FF;
   G := (value and $FF00) shr 8;
   B := (value and $FF0000) shr 16;

   Result.Red := r;
   Result.Green := g;
   Result.Blue := b;

end;

 

/// 由 RGB 和 T(透明度值)得到IRgbColor

function getRGB(R, G, B, T: Byte): IRgbColor;

var
   pColor   : iRgbColor;
begin
   pColor := CoRgbColor.Create as iRgbColor;
   pColor.red := R;
   pColor.Green := G;
   pColor.Blue := B;
   pColor.Transparency := T;
   Result := pColor;

end;

 //生成随机颜色 别忘了包含 math 单元啊

function GetRandomColor(): IRgbColor;
var
   pColor   : IRgbColor;
   r, g, b  : Byte;
begin
   pColor := CoRgbColor.Create as IRgbColor;
   Randomize;
   r := RandomRange(0, 255);
   g := RandomRange(0, 255);
   b := RandomRange(0, 255);
   pColor.Red := r;
   pColor.Green := g;
   pColor.Blue := b;

   Result := pColor;
end;

 

posted on 2009-03-19 12:10  知真道  阅读(699)  评论(0编辑  收藏  举报