Programación General > Visual C++

 Redibujar Pantalla

<< < (2/2)

SteelX:
:think:

Revise tu codigo
el hecho es que para pintar con secuencias esta perfecto. el problema es para mantener la ultima que trazaste.

Veras el WM_PAINT y EL WM_ERASEBKGND cada vez que se hace algo van a repintar la ventana.

Asi que deberas almacenar los ultimos puntos que graficaste para redibujarlos. Puedes hacerlos en Un DIB con BitBtl(); y repintarlo cuantas veces quieras. o mas sencillo es almacenandolos en un Array y dejarlo en el WM_PAINT, para que los pinte cada vez que ocurra un evento de repintado.

Espero y te sirva. Por favor si necestitas mas ayuda postea de nuevo.

ivancp:
La solucion a tu problema es utilizar la tecnica de double buffering:

http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/

El ejemplo de la pagina  utiliza MFC, es cuestion de acomodar el codigo para que puedas utilizarlo en tu aplicacion Win32 SDK.

allisap:
ok, gracias por la informacion, voy a revisarlo,... :comp:

pero ahora que funciona la captura de datos y la graficacion a la velocidad que quiero, y que solo me falta el redibujo estaba pensando en utilizar DirectX, pero no se si se pueda hacer... :rolleyes:

ya antes juge un poco con el directx SDK, y aprendi a trabajar con sprites y con poligonos...  pero no se si se puedan dibujar lineas como lo hice con la aplicacion win32
 :unsure:

SteelX:

--- Cita de: "ivancp" --- La solucion a tu problema es utilizar la tecnica de double buffering:

http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/

El ejemplo de la pagina  utiliza MFC, es cuestion de acomodar el codigo para que puedas utilizarlo en tu aplicacion Win32 SDK.
--- Fin de la cita ---
Ya habia visto esta tecnica. hay varias de hecho. La mas sencilla es retornar 0 en MFC en el onEraseBnGnd.

Las tecnicas de doble buffer o Anti Flickering  sirven para eliminar el parpadeo de la pantalla. en el caso sencillo cuando WM_ERASEBKGND se pone vacio. no lo pinta y evita que ponga un fondo de color.
Asi hay varias.
Aqui hay una pagina que explica mejor.

http://www.catch22.net/tuts/flicker.asp

SteelX:

--- Cita de: "allisap" --- pero ahora que funciona la captura de datos y la graficacion a la velocidad que quiero, y que solo me falta el redibujo estaba pensando en utilizar DirectX, pero no se si se pueda hacer... :rolleyes:

 
--- Fin de la cita ---
ya que vas a graficar 2D Usa antigrain :
http://www.antigrain.com/

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa