sábado, 15 de maio de 2010

Dicas Delphi - Criptografando Imagens com o Delphi

Procedure cripto(const BMP: TBitmap; Key: Integer);
var
BytesPorScan: Integer;
w, h: integer;
p: pByteArray;
begin
try
BytesPorScan := Abs(Integer(BMP.ScanLine[1]) -
Integer(BMP.ScanLine[0]));
except
raise Exception.Create('Erro !');
end;

RandSeed := Key;
for h := 0 to BMP.Height - 1 do
begin
P := BMP.ScanLine[h];
for w := 0 to BytesPorScan - 1 do
P^[w] := P^[w] xor Random(256);
end;
end;


Agora vamos ao evento OnClick do Button chamar a nossa procedure cripto, basta digitar o seguinte código:

Procedure TForm1.Button1Click(Sender: TObject);
begin
cripto(Image1.Picture.Bitmap, 1);
Image1.Refresh;
end;



Ao chamar a rotina passamos como parâmetro o caminho da imagem que no exemplo foi utilizado o componente image e 1 como um valor inteiro para retornamos a imagem normal, logo após a execução da nossa procedure atualizamos o image para que ele possa exibir nossa imagem criptografada.
Veja algumas fotos do nosso aplicativo em ação. A foto do exemplo com a imagem normal.


Take care

Nenhum comentário: