Ayuda con Bitmap

Ayuda con Bitmap

Postby ricardog » Mon Nov 12, 2007 2:16 am

Buenas noches.

Tengo un bitmap que simula una grafica , pues bien, necesito trazar en el bitmap, 3 lineas, que uniran 4 puntos, y que estos "simularan" una grafica.
Lo hago de la siguiente manera.

function DrawLine(aLineas)
/*
AQUI SOLO TRAZAREMOS UNOS PEQUEÑOS PUNTOS EN CADA
COORDENADA DEL BITMAP
*/
hDc := oCv:oBmpHdc:GetDc()

hPen := CreatePen( 0, 5, RGB(0,0,0))
hOldPen := SelectObject( hDc, hPen )

//***** Primer Trazo

MoveTo( hDc, aLineas[1,1], aLineas[1,2] )
LineTo( hDc, aLineas[1,1], aLineas[1,2] )

MoveTo( hDc, aLineas[2,1], aLineas[2,2] )
LineTo( hDc, aLineas[2,1], aLineas[2,2] )

MoveTo( hDc, aLineas[3,1], aLineas[3,2] )
LineTo( hDc, aLineas[3,1], aLineas[3,2] )

MoveTo( hDc, aLineas[4,1], aLineas[4,2] )
LineTo( hDc, aLineas[4,1], aLineas[4,2] )

//***** Segundo Trazo

MoveTo( hDc, aLineas[5,1], aLineas[5,2] )
LineTo( hDc, aLineas[5,1], aLineas[5,2] )

MoveTo( hDc, aLineas[6,1], aLineas[6,2] )
LineTo( hDc, aLineas[6,1], aLineas[6,2] )

MoveTo( hDc, aLineas[7,1], aLineas[7,2] )
LineTo( hDc, aLineas[7,1], aLineas[7,2] )

MoveTo( hDc, aLineas[8,1], aLineas[8,2] )
LineTo( hDc, aLineas[8,1], aLineas[8,2] )

//***** Tercer Trazo

MoveTo( hDc, aLineas[9,1], aLineas[9,2] )
LineTo( hDc, aLineas[9,1], aLineas[9,2] )

MoveTo( hDc, aLineas[10,1], aLineas[10,2] )
LineTo( hDc, aLineas[10,1], aLineas[10,2] )

MoveTo( hDc, aLineas[11,1], aLineas[11,2] )
LineTo( hDc, aLineas[11,1], aLineas[11,2] )

MoveTo( hDc, aLineas[12,1], aLineas[12,2] )
LineTo( hDc, aLineas[12,1], aLineas[12,2] )


SelectObject( hDc, hOldPen )
DeleteObject( hPen )

oCv:oBmpHdc:ReleaseDC()

reuturn nil

Pues bien, tan solo dibuja la parte del TERCER TRAZO, y los restantes no los dibuja. Ademas de que cuando dejo el dialogo con ALT + TAB, esos trazos que dibujo se "Desaparecen".

Si alguien me puede echar una mano.

Por su atencion gracias

Ricardo E. Guardado Flores.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Postby Antonio Linares » Mon Nov 12, 2007 6:55 am

Ricardo,

Tienes que definir ese código para ser llamado desde:

oBitmap:bPainted = { | hDC | ...tu código... }

así cada vez que se repinte el bitmap, volverá a dibujar las líneas.

Si la tercera aparece, las otras tambien deben aparecer, salvo que te estés equivocando en las coordenadas. Revísalas
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41321
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby ricardog » Tue Nov 13, 2007 10:58 pm

Sr. Linares
Muchas gracias por su ayuda, efectivamente, estaba pasando mal unas coordenadas.
Ahora ya las dibuja correctamente, pero ahora se presenta lo siguiente.

Tengo el dialogo (DIALOGO PAPA), donde se presentan las "graficas", y 2 botones, uno de los botones es para "CAPTURAR" la informacion que se interpretara, y el otro es para terminar. Antes de "dibujar" las lineas y los puntos, a los valores que me daran las coordenadas les asigino un valor de (CERO), y las "graficas" se dibujan correctamente, pero cuando oprimo el valor de la CAPTURA de los valores para interpretar la grafica, el dialogo de CAPTURA (DIALOGO HIJO), no aparece a menos que "CIERRE" el dialogo (PAPA). Si quito el codeblock del BITMAP, si me permite pasar al dialogo de la "CAPTURA", pero obviamente no me dibuja la "grafica".

Me podria ayudar con este detalle para encontrar el error?

Gracias.
Ricardo E. Guardado Flores.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Postby Antonio Linares » Tue Nov 13, 2007 11:48 pm

Ricardo,

Muéstranos el código para ver cómo lo estás haciendo, y a ser posible proporciónanos un ejemplo pequeño y autocontenido que podamos probar rapidamente para darte soporte. Gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41321
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby ricardog » Wed Nov 14, 2007 9:45 pm

Sr. Linares
Solucionado.

Estaba refrescando el bitmap despues de haber trazado las "graficas", quite esa instruccion, y listo

Por su atencion muchas gracias


Ricardo E. Guardado Flores.
ricardog
 
Posts: 158
Joined: Tue Oct 11, 2005 3:10 pm

Postby Antonio Linares » Wed Nov 14, 2007 10:09 pm

bien! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41321
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: karinha and 13 guests