Hola de nuevo, si haras de la forma en que te explique también deberías tomar en cuenta, de colocar a transparente algunos componentes que vayan a estar en tu form como Labels, que la imagen siempre este debajo de todos los componentes (Send To Back) y también lo que explican aqui:
http://www.elrinconcito.com/delphi/trucos/Compo3.htm
Para poner una imagen tranparente debes utilizar TransparentColor y TransparentMode, un ejemplo aqui:
http://www.latiumsoftware.com/es/delphi/00015.php
como te dice el amigo BlueSteel, si quieres dar el efecto de agua, sería mejor que lo hicieras en alguna aplicación que te maneje imagenes como photoshop..... Aquí un ejemplo para transformar a escala de grises una imagen, te puede servir algo de ahí para empezar.
http://www.latiumsoftware.com/es/pascal/0032.php#5
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
procedure GrayScale(PICT: TPicture);
const
MaxPixelCount = 32768;
type
pRGBArray = ^TRGBArray;
TRGBArray = ARRAY[0..MaxPixelCount-1] of TRGBTriple;
var
i, j, Colr : Integer;
sl : pRGBArray; bmp : TBitmap;
begin
bmp := TBitmap.Create;
try
bmp.PixelFormat := pf24bit;
bmp.Width := PICT.Graphic.Width;
bmp.Height := PICT.Graphic.Height;
bmp.Canvas.Draw(0,0,PICT.Graphic);
if bmp.PixelFormat <> pf24bit then begin
Exit;
end;
for j:=0 to bmp.Height-1 do begin
sl := bmp.ScanLine[j];
for i:=0 to bmp.Width-1 do begin
Colr:=HiByte(sl[i].rgbtRed * 77 + sl[i].rgbtGreen * 151 +
sl[i].rgbtBlue * 28);
sl[i].rgbtRed := Colr;
sl[i].rgbtGreen := Colr;
sl[i].rgbtBlue := Colr;
end;
end;
PICT.Assign(bmp);
finally
bmp.Free;
end;
end;
begin
GrayScale(Image1.Picture);
end;
Saluditos