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 Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.