Ver Mensaje Individual
  #6  
Antiguo 04-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
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;  // Scanline
    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
        // ShowMessage('Not a 24Bit color bitmap!');
        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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita