Onko mitään helppoa keinoa tunnistaa picturebox:iin piirrettyä ympyrän kokoa tai viivan pituutta kun kohdistin viedään sen päälle?
Jos tallennat halutut tiedot muistiin piirtovaiheessa.
Jos hiiren laittaa kuvan päälle nii tekee jonku sellasen:
If tähänjokuhiirikordinaattijuttu
Then
picturebox1.height = 1500
En oo visual basicciin koskenu ny 5 kuukautee nii meinaa unohtua noi.
Piirretyn kuvion tunnistus jälkeenpäin on aika vaikeaa.
Minkälaista ohjelmaa olet tekemässä?
http://rookscape.com/vbgaming/tutAP.php
Tuolla hyvä esimerkki, miten voidaan tarkistaa törmäys neliöön/soikioon/ympyrään koska kyseessä API-funktio on toiminta aikas nopeaakin.
Soveltamalla tuota vaikka Mouse_Move funktioon, pitäisi kohdistimen tarkistaminenkin onnistua. Talletat vaan kuvioiden koordinaatit johonkin talukkoon...
;)
Tuli sitten tekstua se koodi samantein :D (Saikulla)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Törmäys As Boolean, R As RECT
Dim udtTempRect As RECT
R.Left = X
R.Top = Y
R.Right = X + 1
R.Bottom = Y + 1
frmMain.Caption = ""
If mblnRects Then 'Tarkistetaan neliöön törmäys
If IntersectRect(udtTempRect, R, mudtRect1) Then
frmMain.Caption = "Törmäys neliöön 1"
End If
If IntersectRect(udtTempRect, R, mudtRect2) Then
frmMain.Caption = "Törmäys neliöön 2"
End If
Else
If GetDist(X, Y, msngCircle2X, msngCircle2Y) <= RADIUS2 Then
frmMain.Caption = "Törmäys ympyrään 2"
End If
If GetDist(X, Y, msngCircle1X, msngCircle1Y) <= RADIUS1 Then
frmMain.Caption = "Törmäys ympyrään 1"
End If
End If
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.