# Funciones de dibujo en vb6



## COSMICO (Mar 18, 2010)

Hola amigos.
Estoy intentando dibujar sobre un form una pista para hacer 
un juego de carrito; el cual se desplazara sobre dicha pista, pero no tengo ni idea de como hacer para dibujar la pista sobre el form..
Me gustaria que se pudiera pintar de algun color discha pista o carretera..
Bueno no se. Alguien con la suficiente experiencia me podria guiar..


----------



## tecnogirl (Mar 19, 2010)

Creo que haces la imagen con un programa de dibujo como Paint o similar, lo salvas como archivo gif/jpeg y luego invocas la imagen desde el form...
Saludos


----------



## Fogonazo (Mar 19, 2010)

COSMICO dijo:


> ....pero no tengo ni idea de como hacer para dibujar la pista sobre el form......


Busca dentro de la librería de ayuda "MSDN Library" como se emplea el objeto "Line" y/o "Circle"·


----------



## COSMICO (Mar 19, 2010)

La idea seria dibujarlo con código.
Pero mi vb6 es un portable y no trae el tema de ayuda..
Acepto cualquier sugerencia de código, o un pequeño tuto; para empezar,
No soy experto ni siquiera amateur en vb6, como se podran dar de cuenta,
Gracias por sus aportes..


----------



## Fogonazo (Mar 19, 2010)

COSMICO dijo:


> .....Acepto cualquier sugerencia de código, o un pequeño tuto; para empezar, No soy experto ni siquiera amateur en vb6,.....


Mira de conseguir la librería que te comente, allí te especifica como trazar lineas por código, es parte del VB6 NO portable.

Básicamente le das las coordenadas de inicio y las de fin y el programa traza la linea correspondiente.

Explicarlo por aquí sería muy largo.


----------



## jesus_lomor (Mar 19, 2010)

Insertas un picturebox en el formulario...

Ahora tienes que definir las coordenadas del picturebox.
por ejemplo, quiero que vaya desde parte superior izq. (-20,10) a la parte inferior derecha (20,-10)

Picture.scale (-20,10)-(20,-10)... osea *picture1.scale (coord izq sup)-(coord der inf)*

Lo que este dentro de esas coordenadas se mostrara en el picture..

Ahora, si lo que quieres es pintar un punto usas..
*Picture.pset (x,y), qbcolor(d)* la d puede variar de 0 a 15

Si lo que quieres es pintar una linea usas..
*Picture.line (x1,y1)-(x2,y2), qbcolor(d) *

Si lo que quieres es pintar un circulo usas..
*Picture.circle (x,y),r, qbcolor(d)* donde la r es el radio, X y Y el centro...

Para borrar el contenido del picture usas..
*Picture.cls*

Ojala te sirva de algo la info, creo que eso es lo que buscas, tan largo como esto. Saludos.

Ah!... si lo que quieres es dibujar sobre el form cambia el objeto que es

*Picture *por el *Form*, en el codigo. Saludos!


----------



## COSMICO (Mar 19, 2010)

Ok gracias amigo jesus_lomor
Ya estoy moviendo un shap con este metodo..
ummm, seria intentar dibujar como tu me dices, pero seria 
un rectangulo..para dibujar la pista tan ancha como la necesite..
A ver si puedo...
Gracias..
Como me gustaria que alguien experto en esto abriera un tema 
sobre vb6; para aplicaciones en electronica..
Seria la machera...
Gracias a todos ya ahy vamos..


----------



## COSMICO (Mar 22, 2010)

jesus_lomor.
Gracias amigo; ya dibuje un rectangulo y le cambie de color , ahora estoy intentando
hacer la pista de esa forma, a ver si por ser tan novato no me queda grande
Espero poder seguir contando con tu ayuda..
Ahh otra cosa.
con el metodo que me diste se dibujan pero en el lado izquierdo del form.
Se que no es el metodo la falla..como le coloco coordenadas para posicionarlo donde yo quiera??Que pena preguntar estas tonterias, pero en esto soy un menos que novato..
Gracias de nuevo..


----------



## jesus_lomor (Abr 4, 2010)

Disculpa!... andaba de vacaciones, jeje... hasta hoy me di la vuelta por aqui...
no se si entendi bien tu pregunta, pero espero y lo siguiente te ayude...

si pones este codigo.
form1.scale (-5,5)-(5,-5) le estas diciendo que el form 1 completo le ponga un plano carteciano de la coordenada superior(-5,5) a la inferior(5,-5), osea que exactamente en el centro del form1 esta la coordenada (0,0).

si tu dibujas una linea form1.line(-5,5)-(0,0) esta se pintaria de la parte superior izquierda hacia el centro del form cierto?...

Si lo que quieres es que la linea no inicie en la parte superior izquierda, sino un poco mas a la derecha, pero con las mismas coordenadas, solo redefine la escala.. es decir...

form1.scale(-6,5)-(5,-5)

esto ya haria que cuando pones el codigo de la linea no empiese en la esquina, si no un poco mas a la derecha...

Si quieres puedes mostrar un solo cuadrante de los 4 por ejemplo
form1.scale (0,y1)-(x1,0)
form1.scale (-x1,y1)-(0,0)
form1.scale (-x1,0)-(0,-y1)
form1.scale (0,0)-(x1,-y1)
Juega con los valores para ver que pasa, afortunadamente en ese nivel no quemamos componentes jejejej, que no te de miedo!

tambien puedes usar, en ves del form, el picturebox. ese lo puedes desplazar en tiempo de diseño o tiempo real por todo el formulario, y las coordenadas se mantienen dentro del picture.

Saludos.

A!... lo olvidaba.,. podrias invertir signos tambien de las coordenadas!..


----------



## COSMICO (Abr 5, 2010)

Gracias amigo jesus_lomor
Tambien estaba descansando estos días, y en otras cosas
comienzo con el codigo que me das y te aviso..Espero seguir contando con tu ayuda


----------



## Meta (Abr 5, 2010)

Busca GDI+ en un buscador. Aquí hay algo.

http://www.mundoprogramacion.net/colabora/puntonet/tutgdi/indice.htm

Saludo.


----------



## COSMICO (Abr 19, 2010)

Gracias meta
Amigo jesus, no he comenzado con tus ejemplos pues otra cosa se me puso en el camino
Y me dieron mas tiempo para esto, tan pronto retome el tema, te estare molestando


----------

