Segue funcao para clarear ou escurecer a cor de um ponto da imagem. Mais 
abaixo um exemplo de como usa-la.

function MarcaDagua (Cor: TColor; Valor: Integer): TColor;
var R, G, B: Integer;
begin
     //Captura valores RGB para numeros inteiros
     R := StrToInt('$' + Copy(IntToHex(Cor, 6), 5, 2));
     G := StrToInt('$' + Copy(IntToHex(Cor, 6), 3, 2));
     B := StrToInt('$' + Copy(IntToHex(Cor, 6), 1, 2));
     //Muda os valores (menor = mais escuro / maior = mais claro)
     R := R + Valor;
     G := G + Valor;
     B := B + Valor;
     //Verifica novos valores
     if R < 0 then R := 0; if R > 255 then R := 255;
     if G < 0 then G := 0; if G > 255 then G := 255;
     if B < 0 then B := 0; if B > 255 then B := 255;
     //Converte para Cor
     Result := StringToColor('$00' +
                             IntToHex(B, 2) +
                             IntToHex(G, 2) +
                             IntToHex(R, 2));
end;

Exemplo de uso: Este exemplo faz um quadrado de 50x50 na imagem. O 
parametro Valor da funcao determina se vai ficar mais claro ou escuro. 
Passe um valor entre -255 e 255. Valores negativos fazem ficar mais escuro, 
e positivos o contrario.

procedure TForm1.Button1Click(Sender: TObject);
var Coluna, Linha: Integer;
      Cor: TColor;
begin
     for Linha := 1 to 50 do
     begin
         for Coluna := 1 to 50 do
         begin
             Cor := Image1.Canvas.Pixels[Coluna, Linha];
             Image1.Canvas.Pixels[Coluna, Linha] := MarcaDagua(Cor, 50);
         end;
     end;
end;

Fernando


At 14:53 10/11/2004, you wrote:

>Estou desenvolvendo um sistema de manutenção de sites e preciso que
>cada imagem que seja adicionada através desse sistema uma marca
>d'agua
>seja automaticamente inserida na imagem. Eu consegui criar uma marca
>d'agua opaca mas o ideal mesmo seria uma marca d'agua translucida.
>Estou disponibilizando uma imagem com um exemplo do que eu consigo
>fazer (imagem superior) e com uma marca d'agua que seria o ideal para
>o sistema (imagem inferior). Segue o endereço da imagem com o
>exemplo:
>http://neves.bs2.com.br/transparent.jpg
>
>Qualquer dica ou ajudar será muito bem-vinda.
>Obrigado,
>Paulo Drummond Filho



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a