Código da Cores

Delphi

01/06/2005

Camaradas
Você pode especificar uma cor digitando o código em hexa ou rgb no delphi. Minha questão é a seguinte:
Imaginem que eu tenha uma imagem em tons de cinza com as 256 variações, alguém tem alguma idéa de como eu posso fazer para converter cada um dos tons de cinza em porcentagem de preto que ela contém através de um algoritmo.
Eu selecionaria um pixel da imagem e retornaria a porcentagem de preto.
com em rgb os tons de cinza tem os mesmos valores para r,g e b, por exemplo um cinza a 50¬ rgb(128,128,128) se eu descobrisse como se obtem o valor de uma das cores isso já possibilitaria fazer esta convesão.
Valeu pela força,

:[


Morcego

Morcego

Curtidas 0

Melhor post

Massuda

Massuda

01/06/2005

Para obter o valor das componentes R, G e B de um TColor, use as funções GetRValue, GetGValue e GetBValue da API do Windows:
var
  R, G, B: Byte;
  C: TColor;
...
  R := GetRValue(C);
  G := GetGValue(C);
  B := GetBValue(C);

Usando sua sugestão, a porcentagem de preto seria...
function PorcentagemPreto(C: TColor): Double;
var
  R: Byte;
begin
  R := GetRValue(C);
  Result := 100 * (255 - R) / 255;
end;
Lembrando que preto = TColor(0).


GOSTEI 1
POSTAR