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 29-06-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Red face Mover Imagen

Hola a todos, ¿por que?, cuando muevo una imagen, esta hace como si se cargace otra vez en cada posición que adopta, es decir se pone blanca como si se refrescara, he visto en este foro que se habla de OpenGL, ¿será que tengo que usar esta libreria para mi proposito?, ¿supongo que OpenGL se usa para todo lo que tenga que ver con gráfico no?, me gustaria una ayudita con esto de OpenGL, pues me interesa, lo único que sé hasta ahora es que tengo que agregarlo a la USES de la Form. Ha, la imagen la muevo asi, por si ayuda en algo:

Timer1(On Timer)[Interval:=1]: Image1.left:=image1.left+1;

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 02-07-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Yo muevo así (con u TTimer de 100 o 150en velocidad y en propiedades: Enabled=false):
Código Delphi [-]
var
  i: integer=0;
  G:TBitMap;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
   G:= TBitMap.Create;
   G.LoadFromFile('MiBMP');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(10+i-2, 10, 10+I, 10+G.Height)); //borra el anterior rect
  Bitblt(Canvas.Handle, 10 + i, 10, G.Width, G.Height, G.Canvas.Handle, 0, 0, SRCCOPY);
  i:=i+2;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
   G.Free;
end;

ó con una TImage:
Código Delphi [-]
var
  i: integer=0;
implementation
procedure TForm1.Timer2Timer(Sender: TObject);
begin
   Image1.Left:=Image1.Left+4;
   i:=i+4;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.DoubleBuffered:=true;
end;
Espero te sirva
Saludos
Responder Con Cita
  #3  
Antiguo 03-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por jorgito.crazy
Hola a todos, ¿por que?, cuando muevo una imagen, esta hace como si se cargace otra vez en cada posición que adopta, es decir se pone blanca como si se refrescara, he visto en este foro que se habla de OpenGL, ¿será que tengo que usar esta libreria para mi proposito?, ¿supongo que OpenGL se usa para todo lo que tenga que ver con gráfico no?, me gustaria una ayudita con esto de OpenGL, pues me interesa, lo único que sé hasta ahora es que tengo que agregarlo a la USES de la Form. Ha, la imagen la muevo asi, por si ayuda en algo:

Timer1(On Timer)[Interval:=1]: Image1.left:=image1.left+1;

Gracias de antemano
Por partes:

* Cada vez que mueves algo (entre otras cosas) se repinta en la nueva posición, pero que veas ese pestañeo es señal de que o no tiene memoria suficiente para mover una imagen tan grande o que está haciendo un uso incorrecto de los buffers.

* Si nunca has usado OpenGL, te recomiendo que busques la librería GLScene, que es muchísimo más sencilla e igualmente potente. Es una auténtica librería de componentes (orientada a objetos) con muchas demos que te ayudarán a empezar.
Responder Con Cita
  #4  
Antiguo 03-07-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Bien!, muchas gracias Diev.

En cuanto a ti Kuan, en el ejemplo de Diev (el segundo), me pone form1.doublebuffered (algo asi), tu me dices que puede que use mal los buffers, ¿puedes darme una ayuda con esto de los Buffers?, es primera vez que veo esto, y bueno, donde puedo encontrar Glscene, vere si lo encuentro, y muchas gracias, además ya sé que me dijiste que glscene es menos complicado, pero puedes por favor ponerme un ejemplo de código simple para ver como funciona OpenGL, es que me muero de curiosidad, Gracias de nuevo Kuan, un Saludo.

Última edición por jorgito.crazy fecha: 03-07-2006 a las 16:11:08.
Responder Con Cita
  #5  
Antiguo 03-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Si usas el buscador del foro encontrarás este hilo o este otro en el que te indican un par de sitios en los que puedes obtener la librería.

Sobre lo del ejemplo... instálala y ejecuta cualquiera de las demos, luego mira el código y verás lo simple que es: un par de componentes, y crear formas es tan sencillo como montar un "TENTE".
Responder Con Cita
  #6  
Antiguo 03-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por jorgito.crazy
[...] ¿puedes darme una ayuda con esto de los Buffers?, [...]
Lo olvidaba.
En general siempre que utilices algún tipo de animación, la que sea, es necesario activar el doble buffering que básicamente consiste en tener dos espacios en memoria reservados para ir "dibujando" la imagen, así mientras se escribe uno se lee el otro... Resumiendo mucho, mucho.
Responder Con Cita
  #7  
Antiguo 03-07-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Disculpa, pero no en encuentro Glscene en el sitio que señalan los hilos, he bajado algo de glscene: "GLScene_SnapShot_100506.7z", como ya vez tiene una extensión extraña, supongo que no es la librería sino un utilitario de esta, exactemente de donde lo puedo bajar, en cuanto a lo del Buffer, por favor explicamelo un poco más, por ejemplo, ¿Como trabajaría DoubleBuffer en un richedit, existe triplebufer?. Por lo que parece sabes mucho acerca de este tema, ya que no tengo el Glscene todavía, por favor te lo pido, dame un ejemplo, un empujón, una luz de como usar OpenGl que es el que tengo a mano y muchas gracias por la ayuda.
Responder Con Cita
  #8  
Antiguo 04-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por jorgito.crazy
Disculpa, pero no en encuentro Glscene en el sitio que señalan los hilos, he bajado algo de glscene: "GLScene_SnapShot_100506.7z", como ya vez tiene una extensión extraña, [...]
Es la librería, lo que ocurre es que está comprimida con 7-zip. Busca la extensión en Google (".7z") y encontrarás la descarga. Luego sólo tienes que descomprimirlo e instalar los paquetes que correspondan a la versión de Delphi con la que trabajas. Si ya lo has hecho alguna vez no tardarás mucho.
Yo la estoy mirando ahora mismo y veo que trae algunas demos que me ayudaron mucho.
Responder Con Cita
  #9  
Antiguo 04-07-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Hola Kuan, ya baje el 7-zip y descompacte GLScene, pero ¿que hago ahora para usarlo?, hay muchas carpetas, la de delphi7(el que yo tengo), tiene muchos .dpk,¿ que se supone que deba hacer con ellos?, además no puedo compilar ningún demo, ¿por favor que debo hacer?, Muchas gracias por tu pasiencia.


Saludos
Responder Con Cita
  #10  
Antiguo 04-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por jorgito.crazy
Hola Kuan, ya baje el 7-zip y descompacte GLScene, pero ¿que hago ahora para usarlo?, hay muchas carpetas, la de delphi7(el que yo tengo), tiene muchos .dpk,¿ que se supone que deba hacer con ellos?, además no puedo compilar ningún demo, ¿por favor que debo hacer?, Muchas gracias por tu pasiencia.


Saludos
jejeje... tranquilo, tengo mucha paciencia.
¿Has instalado alguna vez una librería problemática? Porque eso es GLScene, pero aún así merece la pena el trabajo de instalarlo.

Yo lo hago así:
1) Creo una carpeta llamada GLScene dentro de la carpeta lib en la que está instalado Delphi.
2) Descomprimo en ésta la última versión que quiero instalar.
3) Busco el documento "Readme" por si hay alguna indicación relevante, que casi siempre la hay.
4) Abro Delphi y cierro todos los proyectos, para tenerlo "limpio" antes de empezar a instalar.
5) Abro el paquete "GLScene7.dpk" (en mi caso porque lo que tengo es Delphi 7) lo compilo y lo instalo.
6) Si no compila por que no encuentra algún fichero que realmente existe, añado la ruta en la que se encuentra ese fichero al "Library Path" (Environment Options).
7) Me aseguro que aparecen las pestañas (unas 4, aunque depende de la instalación) al final de las pestañas de componentes y las reubico en una posición más accesible.

8) Me voy a la carpeta Demos y ejecuto una para asegurarme de que se instaló bien.
Responder Con Cita
  #11  
Antiguo 04-07-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Wink

Vaya, espero que no se agote , hice más o menos lo que me dijiste, pero, dice cuando trato de cargar el AirBlast que me falta Airblast.res, ¿que debo hacer?(no lo encuentro por ningun lado, creo que no está), y ya lo último es: como visualizo lo que hago con los componentes, solo los pongo en la Form, trasteo un poco sus propiedades y cuando "Run", la Form me aparece en blanco como si nada hibiese pasado.

Gracias de nuevo por tu ayuda,pasiencia y un gran Saludo
Responder Con Cita
  #12  
Antiguo 04-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
He encontrado este tutorial sobre cómo instalar GLScene. Mira a ver si te has olvidado de algo, yo sí, jejeje, es que ha cambiado algo la instalación desde la última versión que usé.
Responder Con Cita
  #13  
Antiguo 04-07-2006
balibrea balibrea is offline
Registrado
 
Registrado: jul 2006
Posts: 2
Poder: 0
balibrea Va por buen camino
hola como estan todos los que quieran escribirme mi e-mail

balibrea@golfo.grm.sld.cu
Responder Con Cita
  #14  
Antiguo 04-07-2006
balibrea balibrea is offline
Registrado
 
Registrado: jul 2006
Posts: 2
Poder: 0
balibrea Va por buen camino
Hola amigos del club de delphi deseo encontrar nuevos amigos a traves del mismo y asi poder intercambiar ideas acerca de la informatica ya que todo lo relacionado con el tema es de gran interes para mi y de ayuda,ok recuerden que mi e-mail es el siguiente:

balibrea@golfo.grm.sld.cu

jorge balibrea espinosa
Responder Con Cita
  #15  
Antiguo 05-07-2006
jorgito.crazy jorgito.crazy is offline
Miembro
 
Registrado: may 2006
Posts: 54
Poder: 19
jorgito.crazy Va por buen camino
Talking

OK, muchas gracias por todo Kuan

Saludos
Responder Con Cita
  #16  
Antiguo 05-07-2006
@bel @bel is offline
Registrado
 
Registrado: jul 2006
Posts: 1
Poder: 0
@bel Va por buen camino
Cool Hola

En realidad no quiero responderte al tema, solo quiero agradecerte por haberme ayudado a encontrar la página.

Despues te escribo con màs tiempo que tengo clases ahora

Saludos
@bel
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mover componentes masterwolf_fzh C++ Builder 0 08-06-2006 19:29:54
Mover dos Form lucasarts_18 Varios 2 24-04-2005 22:06:00
Mover una imagen encima de otra maravert Gráficos 2 24-02-2005 01:04:45
Impedir mover el form y redimensionar al mover barra tareas jealousy API de Windows 0 15-06-2004 12:58:05
Mover tablas WaRRanT MySQL 2 10-03-2004 21:42:32


La franja horaria es GMT +2. Ahora son las 08:59:01.


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