Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VB.Net] Mousepoint op rendered image

Pagina: 1
Acties:

  • DenDries
  • Registratie: Januari 2006
  • Laatst online: 13-11 10:12
Hallo,

Als onderdeel van een klein projectje probeer ik de locatie van een vakje in een raster (rendered image) te bepalen adhv een mousepoint.

Nu is dit helemaal niet nauwkeurig, bij iets andere coördinaten verandert de locatie van het vakje.

Ik vermoed dat ik een fout maak bij het deel waar ik de coördinaten door de zijde van het vakje deel. Iemand die me kan vertellen hoe ik dit best aanpak?

Bedankt!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Class clsTeken
    Public Function getRender() As Image
        Dim im As New Bitmap(250, 250)
        Dim g As Graphics = Graphics.FromImage(im)
        g.FillRectangle(Brushes.White, 0, 0, 250, 250)

        'horizontale lijnen
        For i As Integer = 0 To 9
            g.DrawLine(Pens.Black, 0, i * 25, 250, i * 25)
        Next

        'verticale lijnen
        For i As Integer = 0 To 9
            g.DrawLine(Pens.Black, i * 25, 0, i * 25, 250)
        Next

        g.Dispose()
        Return im
    End Function
End Class


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Veld tekenen met de class "clsteken"
        Dim yourfield As New clsTeken()
        pbYou.Image = yourfield.getRender
    End Sub

    Private Sub pbYou_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbYou.Click
        'Alles declareren
        Dim LocalMousePosition As Point
        Dim puntx, punty, vakjex, vakjey As Integer
        Dim vakje As String

        'Muispositie bepalen
        LocalMousePosition = pbYou.PointToClient(Cursor.Position)

        'X en Y wegsteken
        puntx = LocalMousePosition.X.ToString
        punty = LocalMousePosition.Y.ToString

        'X en Y in labels schrijven
        lblX.Text = puntx
        lblY.Text = punty

        'X en Y delen door zijde van vakje
        vakjex = puntx / 25
        vakjey = punty / 25

        'Positie van vakje wegscgrijven
        vakje = vakjex & " , " & vakjey
        lblVaksken.Text = vakje.ToString
    End Sub

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Kan je een voorbeeld geven van waarden van "puntx" en "punty" waarbij je niet de "vakjex" en "vakjey" krijgt die je verwacht?

Ik kan op een oogopslag niet zien wat er fout aan is, tenzij de deling anders anders verloopt dan ik verwacht (afronden naar de dichtsbijzijnde integer i.p.v. afronden naar beneden)

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

..

[ Voor 95% gewijzigd door ? ? op 25-01-2013 09:52 ]


  • DenDries
  • Registratie: Januari 2006
  • Laatst online: 13-11 10:12
allebei heel erg bedankt!

era.zer, thnx, het werkt! _/-\o_