Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Question Imágenes y Transiciones

Hola amigos, intento hacer una pequeña galería de imágenes, tengo un TImage y dos botones "<<Atras" y "Siguiente>>", lo que hago es cargar de disco la siguiente o anterior imágen. Existe la forma de darle un efecto de transición a la imágen al cargarse.

Tengo Delphi 5.

Gracias por adelantado, y un saludo
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #2  
Antiguo 30-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Qué efecto es el de transición?.. ¿Un Fade?¿O una imagen despaza a la otra?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 30-04-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Cualquiera

Cita:
Empezado por delphi.com.ar
¿Qué efecto es el de transición?.. ¿Un Fade?¿O una imagen despaza a la otra?
Bueno no tengo preferencia por ninguno, si me puedes ayudar con el que más fácil te sea, te lo agradecería mucho, y pienso que si me explicas uno pudiera apollarme en ese para yo mismo implementar algunos otros

gracias y un saludo
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #4  
Antiguo 30-04-2004
Turboleta Turboleta is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 26
Poder: 0
Turboleta Va por buen camino
Lightbulb Una posible solución

Creo que esta funcion te puede servir:

{* Realiza el fundido de un BMP sobre un cancas de tres formas diferentes *}
{* Hay que deshabilitar Range Checking para evitar un error de fuera de rango *}
{* en ejecución, porque Tcoord se creará dinámicamente *}
{* c= columna; l= línea => coordenadas esquina sup. izquierda *}
procedure fundido(Fondo:Tcanvas;Const Marca:TBitmap;
c,l,Tipo,Espera:integer);
type Tpixels= record
x, y: word // Tipo coordenadas de un pixel
end;
Tcoord= array[0..0] of TPixels; // Array de coordenadas para los pixels
Pcoord= ^TCoord; // Puntero al array
var col,lin: integer;
CTotal,tot,i,ord: longint;
coords: Pcoord; // Del Tipo puntero al array
begin
if (tipo > 3) or (Tipo < 1) then tipo:= 1;
case tipo of
1: begin
CTotal:= marca.width * marca.height; // Total de pixel del BMP
GetMem(Coords, CTotal * SizeOf(TPixels));// Se crea el array dinámicamente
for lin:= 0 to marca.Height - 1 do
for col:= 0 to marca.Width - 1 do
begin // Se guardan en el array todas
Ord:= lin * marca.width + col; // las coord. de todos los pixels
Coords^[ord].x:= col; // del BMP
Coords^[ord].y:= lin;
end; // se guarda en Tot el nº de pixels
tot:= CTotal;
for i:= 0 to CTotal do
begin // Se eligen unas coord. y ese pixel
ord:= Random(Tot); // se copia en el TImage
fondo.pixels[c + Coords^[ord].x, l + Coords^[ord].y]:=
marca.canvas.pixels[Coords^[ord].x,Coords^[ord].y];
Coords^[ord]:= Coords^[tot - 1];
Dec(tot);
if i mod 500 = 0 then
begin
Application.ProcessMessages;
Sleep(espera);
fondo.refresh; // Se repinta el TImage
end
end; // Se libera la men. del array
FreeMem(Coords, CTotal * SizeOf(TPixels));
end;
2: Begin // Se dibuja por líneas, de arriba
for lin:= 0 to marca.Height - 1 do // hacia abajo.
begin
for col:= 0 to marca.Width - 1 do
begin
fondo.pixels[c + col, l + lin]:= marca.canvas.pixels[col,lin];
end;
Application.ProcessMessages;
sleep(espera);
fondo.refresh;
end
end;
3: Begin // Se dibuja por columnas de Izq. a
for col:= 0 to marca.width - 1 do // derecha.
begin
for lin:= 0 to marca.Height - 1 do
begin
fondo.pixels[c + col, l + lin]:= marca.canvas.pixels[col,lin];
end;
sleep(espera);
Application.ProcessMessages;
if col mod 2 = 0 then
fondo.refresh;
end
end
end;
fondo.refresh
end;


¡Ya me contarás qué te parece! Te aseguro que funciona.
Responder Con Cita
  #5  
Antiguo 01-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola Turboleta. Te recomiendo usar las etiquetas [ code ] o [ delphi ] para que los trozos de código que publiques se vean correctamente indentados, o hasta resaltados (con la segunda).

Podes aprender como usarla, siguiendo el vínculo en mi firma.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 01-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ahora que lo pienso se me ocurre algo. Si lo que se quiere es hacer una aplicación que simplemente muestre una secuencia de imágenes quizá podría usarse un TWebBrowser aprovechando los efectos de transición de IE.

Mmmm... Creo que me lo voy a intentar yo mismo.

// Saludos
Responder Con Cita
  #7  
Antiguo 01-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por roman
aprovechando los efectos de transición de IE.
que efectos??? esos si no me los conozco...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 01-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pertenece a la sección de Efectos y transiciones

Por cierto, uno de esos efectos (no estrictamente una transición) la puedes ver en estos mismos foros al dar click en "Desconectar".

// Saludos
Responder Con Cita
  #9  
Antiguo 01-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
que bonito... que bonito!!!

No tenia idea del asunto, y como ya no entro a IE mas que para comparar como se ven algunas web's... pues todavia tenia la cookie del club en él, y he aprovechado para desconectarme totalmente...

Interesantes efectos...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 03-05-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Talking Muchas gracias

Quiero agradecer por las respuestas, y a la vez pedir disculpa por mi tardansa en responder, pero es que me conecto solo desde el trabajo y no vine por acá el fin de semana, probaré los ejemplos que me dieron. Muchas gracias de nuevo.

Un saludo
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 04:26:48.


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