Ver Mensaje Individual
  #8  
Antiguo 08-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Veo que se me adelantaron, pero por lo menos dejame aportar un poco de código. Aquí te dejo una encriptacion sencilla, dado que aunque uses una encriptacion fuerte la clave tendrá que guardarse dentro de tu ejecutable, no veo la necesidad de complicarse la vida, solo se trata de ponérselo un poco mas difícil.

Código Delphi [-]
procedure Cifrar(Buffer: PByte; Key: Longint; Count: Cardinal);
begin
  RandSeed:= Key;
  while Count > 0 do
  begin
    Buffer^:= Buffer^ XOR Byte(Random($FF));
    inc(Buffer);
    dec(Count);
  end;
end;

// Para cifrar el archivo
begin
  with TMemoryStream.Create do
  try
    LoadFromFile('d:\1.jpg');
    Cifrar(Memory,1978,Size);
    SaveToFile('d:\1.dat');
  finally
    Free;
  end;
end;

// Para usarlo una vez cifrado
var
  Stream: TMemoryStream;
  Jpg: TJPEGImage;
begin
  Stream:= TMemoryStream.Create;
  Jpg:= TJPEGImage.Create;
  try
    Stream.LoadFromFile('d:\1.dat');
    Cifrar(Stream.Memory,1978,Stream.Size);
    Jpg.LoadFromStream(Stream);
    // Aqui ya tenemos la imagen cargada, podemos mostrarla
    // en un TImage, por ejemplo
    Image1.Picture.Assign(Jpg);
  finally
    Jpg.Free;
    Stream.Free;
  end;
end;

En cuanto al código del Fade que te paso Bicho, solo añadir que la imagen tienen que ser un Bmp para que funcione, si es un jpg tendrás que convertirla primero.

Y por ultimo, la marca de agua seria sencilla si las imágenes se guardaran en formato bmp, pero siendo jpg la cosa se complica.
Responder Con Cita