以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]GDI绘图问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189173)

--  作者:54292550
--  发布时间:2023/11/15 0:10:00
--  [求助]GDI绘图问题
Painter1的mousemove里面做了这个事件代码:

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.Clear(Color.Transparent)
g.DrawLine(Pens.yellow, e.x, 0, e.x, 1000)
g.DrawLine(Pens.yellow, 0, e.y, 1000, e.y)
p.Repaint()

后续我想在mousedown里面加入代码,点击左键将红色十字线永久绘制到painter中,点击右键将绿色十字线永久绘制到painter中,鼠标移动的时候就不会清除这两个鼠标按钮点上去的十字线。

另外还有一个问题,不管是在painter中还是在panel中,我想将背景加载为硬盘中的一个图片文件,然后在这个图片文件上进行绘制。这个在哪个控件中可以实现?
[此贴子已经被作者于2023/11/15 0:14:13编辑过]

--  作者:有点蓝
--  发布时间:2023/11/15 8:28:00
--  
1、http://www.foxtable.com/webhelp/topics/0746.htm,可以通过button参数判断是左键还是右键。mousemove不要调用g.Clear,就不会清空之前绘制的内容

2、painter里先使用DrawImage绘制一个图片即可