我正在创建一个照片查看器,用户可以使用它来标记 facebook 中的图像。单击要标记的图像后,我使用 wx.GetMousePosition 查找鼠标在图像上单击的位置。然后创建用户标记的图像的 wx.MemoryDC 以便我可以绘制标签使用 dc.DrawRectangle 在图像上。
下面是在图像上绘制的代码:顺便说一下,我正在使用 wxPython
W=495 #Position of mouse (y)
H=205 #Position of mouse (x)
dc = wx.MemoryDC()
dc.SelectObject(bitImg)#name of bitmap image
dc.SetPen(wx.Pen('#FF0000'))
#dc.SetBrush(wx.Brush('#aaffff'))
dc.SetBrush(wx.TRANSPARENT_BRUSH)
dc.DrawRectangle(W, H, 20, 20)# Drawing the rectangle using the W and H
# for the position
dc.SelectObject(wx.NullBitmap)
前两行是我从 wx.GetMousePosition 收到的 X 和 Y 坐标。这是标签在其中一张图像上的位置。但是,当我绘制矩形时,这些点 W 和 H 不会显示在图像上,因为它们太大并且不会显示在屏幕上。如果我将 W 和 H 都设置为 90,它将在图像上绘制一个小方块。
那么如何转换这些 wx.GetMousePosition 坐标以使其适合“dc”?或有关获取鼠标坐标的任何其他建议?