Programación General > Visual C++
Redibujar Pantalla
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
[*] Página Anterior
Ir a la versión completa