Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 07-04-2009
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Poder: 18
LoPiTaL Va por buen camino
Gracias por la rápida respuesta. Sí, tienes razón en lo de que se están pisando, por eso había dicho que las fotos laterales se mostraban bien, pero la inferior (que se pinta sobre el slider) provoca la reentrada.
El código que utilizo es relativamente simple. Lo que hago (olvidándonos de las imágenes laterales) es:
-Calculo los pixeles de la imágen inferior, reduciendo el brillo de cada uno de ellos en función a una máscara previamente almacenada en memoria.
-Calculo la altura a la que debe estar la imágen (siempre pegada a la palanca del slider).
-Llamo al método Update de la imágen.
-Llamo a inherited.

El código (simplificado) es el siguiente:

Código:
  //Para la sombra de abajo....
  topIm:=topIm+fHandlerBitmap.Height; //Cálculo de la altura (topIm 
                                                   //inicializada cuando las otras sombras)
  //Aplicación de la máscara de la sombra y cambio de brillo pixel a pixel:
  temp.Assign(backBottomImage.Picture.Bitmap);
  temp.Width:=backBottomImage.Width;
  temp.Height:=backBottomImage.Height;
  for i := 0 to temp.Height -1 do begin
    DestRow := fBackGroundBitmap.ScanLine[i+topIm];
    for j := 0 to temp.Width - 1 do begin
      colorRGB:=(DestRow[J].rgbtBlue shl 16)+(DestRow[J].rgbtGreen shl 8)+DestRow[J].rgbtRed;
      temp.Canvas.Pixels[j,i]:=cambiaBrilloPixel(colorRGB,fShadeBitmap.Canvas.Pixels[J,I+topIm],RGBF_BGR);
    end;
  end;
  backBottomImage.Picture.Bitmap.Assign(temp);
  backBottomImage.Top:=topIm+Self.Top+1;

    temp.Free;
  
    //Indico que la imagen a cambiado
    backBottomImage.Update;
    inherited Paint;   //Llamo al método superior
Toda ayuda se agradece,
Un saludo,
Rubén
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Método más sencillo para lanzar una única consulta sql a BD mysql minime Conexión con bases de datos 3 04-09-2007 20:30:44
Lanzar excepciones cahern4 Varios 6 14-04-2005 22:40:23
Evitar la ejecución del método padre Egroc Varios 3 22-07-2004 18:16:11
Lanzar procedimiento kalimero MS SQL Server 6 27-04-2004 19:22:33
Lanzar evento.... craven OOP 4 08-09-2003 22:04:05


La franja horaria es GMT +2. Ahora son las 01:17:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi