ВУЗ:
Составители:
Рубрика:
63
procedure RGBColor.MultiplyBy(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]*(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
procedure RGBColor.DivideBy(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]/(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
procedure RGBColor.Assign(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do self.comp[i]:=(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
end;
function RGBColor.AsString: String;
begin
result:='Red: '+FloatToStrF(self.comp[1],ffFixed,1,4)+
', Green: '+FloatToStrF(self.comp[2],ffFixed,1,4)+
', Blue: '+FloatToStrF(self.comp[3],ffFixed,1,4);
end;
function RGBColor.GetComp(i: Integer): Real;
begin
result:=self.comp[i];
end;
procedure RGBColor.SetComp(i: Integer; value: Real);
begin
if (value>=0) and (value<=1) // значение должно принадлежать
then self.comp[i]:=value // отрезку [0,1]
else raise Exception.Create('Illegal value');
end;
procedure RGBColor.SetRed(value: Real); // реализации отличаются
begin self.SetComp(1, value); end; // лишь номером компоненты
procedure RGBColor.SetGreen(value: Real);
begin self.SetComp(2, value); end;
procedure RGBColor.MultiplyBy(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]*(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
procedure RGBColor.DivideBy(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do
self.comp[i]:=self.comp[i]/(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
self.Clamp;
end;
procedure RGBColor.Assign(n: Number);
var i: Integer;
begin
if n is RGBColor
then for i:=1 to 3 do self.comp[i]:=(n as RGBColor).comp[i]
else raise Exception.Create('Invalid operation');
end;
function RGBColor.AsString: String;
begin
result:='Red: '+FloatToStrF(self.comp[1],ffFixed,1,4)+
', Green: '+FloatToStrF(self.comp[2],ffFixed,1,4)+
', Blue: '+FloatToStrF(self.comp[3],ffFixed,1,4);
end;
function RGBColor.GetComp(i: Integer): Real;
begin
result:=self.comp[i];
end;
procedure RGBColor.SetComp(i: Integer; value: Real);
begin
if (value>=0) and (value<=1) // значение должно принадлежать
then self.comp[i]:=value // отрезку [0,1]
else raise Exception.Create('Illegal value');
end;
procedure RGBColor.SetRed(value: Real); // реализации отличаются
begin self.SetComp(1, value); end; // лишь номером компоненты
procedure RGBColor.SetGreen(value: Real);
begin self.SetComp(2, value); end;
63
Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »
