日期:2014-05-18  浏览次数:20762 次

关于鼠标点击图像放大的实现方法 求提示
比如现在我有个picturebox1 里面放了张图 让后我想实现类似于图像查看器里放大镜的功能:就是说我做个button控件 然后点击后 鼠标移到这个picturebox1的范围内变成另一个图标(放大镜) 然后根据鼠标在不同位置的点击 放大不同范围的图像至全picturebox1的显示范围 
其中几个细节不知如何实现:1.怎么让鼠标在picturebox1上的时候变成放大镜图像2.怎么读取鼠标点击在picturebox1上的坐标位置 作为选取放大范围的依据3.实现点一次放大一倍点2次再放大一倍点第3次还原的方法

我初学c#用来做毕设 很多对象的属性和方法不了解 不知道从何用起 跪求提示或简单的示例代码 谢了


------解决方案--------------------
1、可以用GDI+画一下,在MOUSEHower事件里面调用。在MouseLeave事件里面还原图片大小
定义一个Rectange 做好长宽,以及左顶点new rectange(0,0,100,100)表示100*100的正方形
gr.drawImage(image,rectange)在指定的方框类画图象
2、在MouseClick事件里MouseEventArgs e中[e.x,e.y]就为鼠标点机的坐标
3、你可以放大rectange
------解决方案--------------------
问题1:在picture1的mousemouse事件中更改鼠标状态:this.cursor = ...
Cursor cur = new Cursor(string);string为一个ico文件
------解决方案--------------------
问题2、3:这个点很容易获得,在mouseclick中就有,这里放大可能要定义一个rectangle,用来作为放大的程度
------解决方案--------------------
关注+学习!!
------解决方案--------------------
挺好!
------解决方案--------------------
探讨
1、可以用GDI+画一下,在MOUSEHower事件里面调用。在MouseLeave事件里面还原图片大小
定义一个Rectange 做好长宽,以及左顶点new rectange(0,0,100,100)表示100*100的正方形
gr.drawImage(image,rectange)在指定的方框类画图象
2、在MouseClick事件里MouseEventArgs e中[e.x,e.y]就为鼠标点机的坐标
3、你可以放大rectange