Penso che LMondi non abbia capito il senso della domanda... Qui si tratta di linee e cerchi, fondamentali della geometria, non di un'immagine esterna caricata.
Vuoi un consiglio?
Usa le API di windows, sono 100 volte più veloci di Line, Circle e company. Copia queste dichiarazioni in un modulo:
codice:
Public Declare Function MoveToEx Lib "gdi32" Alias "MoveToEx" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Public Declare Function LineTo Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Public Declare Function Rectangle Lib "gdi32" Alias "Rectangle" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function Ellipse Lib "gdi32" Alias "Ellipse" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function SetPixelV Lib "gdi32" Alias "SetPixelV" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
A questo punto usa queste funzioni al posto di quelle predefinite di Visual Basic, dove chiede l'hDC tu gli passi quello della PictureBox... Ad esempio se si chiama "PictureBox1" tu dovrai passare come argomento PictureBox1.hDC...
Per fare una linea è semplice, usi la MoveToEx per posizionarti in un punto, e poi la LineTo per disegnare la linea da quel punto al secondo punto della linea...
La SetPixelV fa quello che normalmente fa la PSet...
Le altre funzioni sono autoesplicative...
Per modificare la larghezza ed il colore della linea usi le solite proprietà della PictureBox...
Poi per il resto fai tu lo zoom come meglio credi. Io così ho realizzato un intero sistema CAD.
Ciao ciao!