Drawing over a picture

I’m drawing a hex grid over a picture that already has a hex grid.
The problem is that there is a displacement of the over grid layer, even if the size of the hexes are exactly the same.

If anyone could look at the project, and give me a little help it will be welcome.

A put the prototipe in Dropbox:
https://www.dropbox.com/s/wk9ka4zppfwwdt4/NLB.zip?dl=0

You need to stretch the width of the hexagons slightly. The height is fine. If you notice the top left hex its left edge is just to the right of the bitmap hex and the right edge and to the left. If you elongate the hex’s slightly by tweaking your points and offsets then it should all align.

Thank you Julian.
Do you mean modifying the points array that is used by DrawPoligon?

Change the sqrt in HexWidth to 2.52 which makes it look pretty close:

Private Function HexWidth() as double return (4 * (mheight/2/Sqrt(2.52))) End Function

Then change this line in the Paint to add the +5 to shift it left a touch and it looks pretty spot on here

g.DrawPicture(mImage, mXScroll+5, mYScroll)

Play around with those values until you get it to align after the scroll and you should be good to go.

Thanks Julian you give me the easy and best solution

Julian, do you think my hex points were wrong (not regular hex), or the printed hexagon grid?

The printed ones are elongated in their width, that maybe by design to fit more info in the hex.