graficar en picturebox
Hola, estoy graficando unas funciones en un PictureBox, donde tengo graficado un eje "x" y otro "y". Necesito que me escriba automaticamente algunos valores en el eje "x" (Ej. punto de inflexion x=10). En resumen no se cual el la propiedad que me deja escribir un String y como le digo donde escribirla. Espero que me puedan ayudar.
Muchas gracias
Alejandro
Muchas gracias
Alejandro
Bien... Para posicionarte en un punto espefico usa las propiedades
CurrentX
y
CurrentY
y para imprimir texto usa el metodo Print, asociado al objeto Picture...
Mira... aqui esta un codigo de ejemplo... crea un nuevo proyecto exe estandar, insertale un control CommandButton y un control PictureBox, el PictureBox agrandalo al tamaño que prefieras...
Copea el siguiente codigo y pegalo en la seccion (General) (Declaraciones) del form... y ejecutalo...
Option Explicit
Dim X_i As Double
Dim X_f As Double
Dim Y_i As Double
Dim Y_f As Double
Private Sub Command1_Click()
Dim I As Integer
Dim Contador As Integer
Dim TmpInc As Double
Dim TmpX As Double
Dim TmpY As Double
'Para la escala
X_i = -10
X_f = 10
Y_i = 10
Y_f = -10
Picture1.Scale (X_i, Y_i)-(X_f, Y_f)
Picture1.Cls
Picture1.ForeColor = QBColor(12)
Picture1.Line (X_i, 0)-(X_f, 0) 'Dibuja plano X
Picture1.Line (0, Y_i)-(0, Y_f) 'Dibuja plano Y
For I = Y_i To Y_f Step -1
Picture1.Line (-0.4, I)-(0.4, I)
'Los valores en donde se imprime el texto es en los indicados
'por Picture1.CurrentX y Picture1.CurrentY
Picture1.Print "Numero " & I 'Imprime texto
Next I
Picture1.ForeColor = QBColor(9)
For I = X_i To X_f Step 1
Picture1.Line (I, 0.4)-(I, -0.4)
Picture1.Print I
Next I
'Dibujar alguna grafica
TmpInc = 0.05
Contador = 1
Picture1.ForeColor = QBColor(1)
Picture1.CurrentX = X_i
Picture1.CurrentY = X_i ^ 4 + 3 * X_i ^ 3 - X_i ^ 2 + 5
For TmpX = X_i To X_f Step TmpInc
TmpY = TmpX ^ 4 + 3 * TmpX ^ 3 - TmpX ^ 2 + 5
Picture1.Line -(TmpX, TmpY)
Next TmpX
'Esto es solo un ejemplo, los valores de los puntos no son presisos matematicamante
Picture1.CurrentX = -3.5
Picture1.CurrentY = -9
Picture1.Print "Punto minimo"
Picture1.CurrentX = -2.8
Picture1.CurrentY = -2
Picture1.Print "Punto de inflexion"
Picture1.CurrentX = -2.8
Picture1.CurrentY = -2.5
Picture1.Print "anda por aqui"
End Sub
Private Sub Form_Load()
Command1.Caption = "Mostrar"
End Sub
Bueno... ahi hay cosas que ya debes saber usar, sin embargo tambien las puse para hacer mas claro el ejemplo...
Bueno... espero te sea util... Bye...
CurrentX
y
CurrentY
y para imprimir texto usa el metodo Print, asociado al objeto Picture...
Mira... aqui esta un codigo de ejemplo... crea un nuevo proyecto exe estandar, insertale un control CommandButton y un control PictureBox, el PictureBox agrandalo al tamaño que prefieras...
Copea el siguiente codigo y pegalo en la seccion (General) (Declaraciones) del form... y ejecutalo...
Option Explicit
Dim X_i As Double
Dim X_f As Double
Dim Y_i As Double
Dim Y_f As Double
Private Sub Command1_Click()
Dim I As Integer
Dim Contador As Integer
Dim TmpInc As Double
Dim TmpX As Double
Dim TmpY As Double
'Para la escala
X_i = -10
X_f = 10
Y_i = 10
Y_f = -10
Picture1.Scale (X_i, Y_i)-(X_f, Y_f)
Picture1.Cls
Picture1.ForeColor = QBColor(12)
Picture1.Line (X_i, 0)-(X_f, 0) 'Dibuja plano X
Picture1.Line (0, Y_i)-(0, Y_f) 'Dibuja plano Y
For I = Y_i To Y_f Step -1
Picture1.Line (-0.4, I)-(0.4, I)
'Los valores en donde se imprime el texto es en los indicados
'por Picture1.CurrentX y Picture1.CurrentY
Picture1.Print "Numero " & I 'Imprime texto
Next I
Picture1.ForeColor = QBColor(9)
For I = X_i To X_f Step 1
Picture1.Line (I, 0.4)-(I, -0.4)
Picture1.Print I
Next I
'Dibujar alguna grafica
TmpInc = 0.05
Contador = 1
Picture1.ForeColor = QBColor(1)
Picture1.CurrentX = X_i
Picture1.CurrentY = X_i ^ 4 + 3 * X_i ^ 3 - X_i ^ 2 + 5
For TmpX = X_i To X_f Step TmpInc
TmpY = TmpX ^ 4 + 3 * TmpX ^ 3 - TmpX ^ 2 + 5
Picture1.Line -(TmpX, TmpY)
Next TmpX
'Esto es solo un ejemplo, los valores de los puntos no son presisos matematicamante
Picture1.CurrentX = -3.5
Picture1.CurrentY = -9
Picture1.Print "Punto minimo"
Picture1.CurrentX = -2.8
Picture1.CurrentY = -2
Picture1.Print "Punto de inflexion"
Picture1.CurrentX = -2.8
Picture1.CurrentY = -2.5
Picture1.Print "anda por aqui"
End Sub
Private Sub Form_Load()
Command1.Caption = "Mostrar"
End Sub
Bueno... ahi hay cosas que ya debes saber usar, sin embargo tambien las puse para hacer mas claro el ejemplo...
Bueno... espero te sea util... Bye...
Te agradezco mucho, la ayuda. Es justo lo que buscaba. Ademas el ejemplo me viene muy bien, asi que te lo agradezco.
Saludos
Alejandro
Saludos
Alejandro
