Puedes usar la función 'pset' (set point) es una propiedad vinculada al formulario y a los controles picturebox.
Su uso es el siguiente objeto.pset [step opcional] (x,y), color
si pones el step los valores de x e y son relativos a las coordenadas actuales, si no se indica step, las coordenadas x e son absolutas. en color debes definir un color de varias formas: usando constantes de quickbasic antiguo (sólo 16 colores), usando un valor de tipo long (trango 0-16.777...) o usando la función rgb que es bastante cómoda donde defines valores para el rojo, verde y azul individualmente con valores de byte (0-255)
Un ejemplo; haz un nuevo proyecto coloca un picturebox sin cambiar su nombre, en el código pega lo siguiente y pulsa la tecla f5 para ejecutarlo, luego pulsa dentro del picture, o mueve el ratón... :
Private Sub Picture1_Click()
For i = 1 To 1000
Picture1.PSet (i, 20 + i), RGB(22, 44, 210)
Next
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.PSet (X, Y), RGB((X Mod 256), 80, (Y Mod 256))
End Sub
nota que si pones encima una ventana, luego el dibujo ha desaparecido, el gráfico no es persistente, para evitar esto debes activar la propiedad 'autoredraw'=true del control picturebox.
Cuando quieras salvar el dibujo a un fichero de imagen añade un botón y coloca el siguiente código:
Private Sub Command1_Click()
Dim ruta As String
On Local Error GoTo falloGuardar
ruta = "c:\midibujo.bmp"
SavePicture Picture1.Image, ruta
MsgBox "La imagen se guardó en la ruta: " & ruta, vbInformation, "Imagen guardada..."
Exit Sub
falloGuardar:
MsgBox "Falló el intento de guardar la imagen en la ruta: " & ruta, vbCritical, "Imagen no guardada..."
End Sub
También puedes usar los métodos 'line y 'circle' ... para leer puntos usa 'point'.