您的位置:程序门 -> .net技术 -> c#



.net winform下  如何在picturebox控件加载有图片的基础上,在图片上加动态多个点


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


.net winform下 如何在picturebox控件加载有图片的基础上,在图片上加动态多个点[已结贴,结贴人:jimmy8504_cn]
发表于:2007-02-05 00:30:49 楼主
最近在做一个关于地图上加信息点的winform程序(基于.net),现在我已经能实现在地图的图片(固定大小)上点得到点的坐标信息.但如何同时在地图的图片上加点处,添加小图片等类似的标识符呢?      
      注:我的地图图片是用picturebox控件来显示的.
    肯请大虾帮忙!!!!!!!!!!~
发表于:2007-02-05 05:34:021楼 得分:0
up
发表于:2007-02-05 08:21:572楼 得分:10
你想实现的是在图片上点击一下。然后就在点击处加入一个小图片?
对你的描述不是很理解
发表于:2007-02-05 08:23:573楼 得分:0
用个list什么的存储鼠标点过的坐标,再onpaint事件里把坐标给用你要的点或者图片画上去
发表于:2007-02-05 08:24:204楼 得分:0
那应该是   picturebox   的   click   事件。
点的时候,获取当前的坐标    
然后把图片加载,图片的方位设定成刚才得到的坐标。

我的思路就是这样啊。
发表于:2007-02-05 08:46:415楼 得分:0
请问一下:red_anglex
            这个picturebox的onpaint的事件里,具体的的画点代码怎么实现?
            我也想过这个办法,但不知道怎么把点画在picturebox的图片上
发表于:2007-02-05 08:49:286楼 得分:0
再请问一下:wxl565(汪汪)
                你的想法我也试过,但是在加载图片的时候,图片怎么设置为透明,从而不遮挡下面的地图图片?
发表于:2007-02-05 08:55:427楼 得分:90
......给一段画点的代码你看吧
                private   void   form1_paint(object   sender,   painteventargs   e)
                {
                        e.graphics.drawarc(pens.red,   new   rectangle(10,   10,   1,   1),   0,   360);
                }

然后你自己根据list里面的坐标循环把10,10给换了就行
发表于:2007-02-05 08:56:528楼 得分:0
哦,你要画图片
那就用e.graphics.drawimage
发表于:2007-02-05 08:59:279楼 得分:0
to:red_anglex
      能不能写详细一点,我是要把点画在picturebox控件的图片上.
      3ks!
发表于:2007-02-05 09:01:0610楼 得分:0
一样的   你把
e.graphics.drawarc(pens.red,   new   rectangle(10,   10,   1,   1),   0,   360);
贴到pictruebox的onpaint里就可以了
要画多少个坐标在哪你自己控制就行了
发表于:2007-02-05 09:04:0111楼 得分:0
那如果我要在别的函数里,反复调用这个onpaint事件可以吗?
          这样可以实现多次动态画点.
          万谢,本人刚接触winform的.net,对好多控件的使用都不熟悉.
发表于:2007-02-05 09:10:5412楼 得分:0
onpaint是系统自动触发的,不需要别的函数调用
如果你要多次画点,再别的控制代码里面控制好要画的点的结构(个数,坐标)就好了
发表于:2007-02-05 09:12:1513楼 得分:0
但如果我想调用这个onpaint呢,我不想让他由系统触发,这个怎么实现啊?
发表于:2007-02-05 09:13:3714楼 得分:0
在vc里,有wm_paint的消息可以加,但在.net里,这个消息的捕获怎么实现啊?
发表于:2007-02-05 09:14:3615楼 得分:0
graphics   g   =   this.picbox.creategraphics();
后面代码一样
发表于:2007-02-05 09:17:4316楼 得分:0
但如果我想调用这个onpaint呢,我不想让他由系统触发,这个怎么实现啊?
---
你要调用,picbox.refresh就可以了
不让系统触发是不可能的,你可以把画的代码放出来,onpaint里什么也没有
不过.net的机制和vc是不同的,不明白你到底要实现什么功能,还是建议你先了解下gdi+的相关知识
发表于:2007-02-05 09:20:1717楼 得分:0
多谢red_anglex!!!!


快速检索

最新资讯
热门点击