C#实现放大镜功能

spurshero 2016-07-14 09:33:04
需要实现一个功能,当选中放大镜复选框,则当鼠标移动到picturebox区域内的时候,会将鼠标箭头附近的某一区域放大显示在旁边,,显示的位置因为在鼠标箭头附近,所以位置是动态的,所以我需要获取鼠标箭头的位置坐标,可是怎么获取呢,MouseEventArgs e是当鼠标按下可以获取,我是不按,就是鼠标的箭头移动到哪里,就将附近的内容放大并且放大的图也就在旁边。
...全文
952 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
desperaso 2018-01-09
  • 打赏
  • 举报
回复
现成的 https://www.codeproject.com/Articles/1165426/A-Beautiful-Magnifying-Glass-Effect-of-Image-in-Wi
We_all_konw 2018-01-06
  • 打赏
  • 举报
回复
楼主解决了吗?急需源码》谢谢
twlei 2017-08-26
  • 打赏
  • 举报
回复
楼主大神实现了吗,求给个源码821037722
spurshero 2016-07-14
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
在 MouseMove 事件中处理 MouseEventArgs e 的属性有: X 鼠标的 x 坐标 Y 鼠标的 y 坐标 Button 鼠标按键 .....
谢谢,我知道怎么用了,其实我的代码里含有从mousemove那里得来的和鼠标位置相关的信息,变化下就可以了,我太死脑筋,哈哈,多谢多谢
spurshero 2016-07-14
  • 打赏
  • 举报
回复

//开启放大镜功能
if (ModEditor.MagnifierFlg == true)
			{
				
				ModEditor.layerMagnifier.graph.Clear(Color.Black);
				
				Rectangle newRec = new Rectangle(0,
												0,
												(int)ModEditor.layerMagnifier.sizeF.Width,
												(int)ModEditor.layerMagnifier.sizeF.Height
									);
                                //选取要放大的区域
				Rectangle oldRec = new Rectangle((int)ModEditor.MagnifierGetPoint.X,
												(int)ModEditor.MagnifierGetPoint.Y,
												ModEditor.MagnifierGetSize.Width,
												ModEditor.MagnifierGetSize.Height
									);
				ModEditor.layerMagnifier.graph.DrawImage(ModEditor.layerMerge.bitmap, newRec, oldRec, GraphicsUnit.Pixel);
				//放大镜层画像显示,这里设的是固定的在(0,0)左上角的位置,我想让它变成随鼠标移动的
				newRec = new Rectangle(0,
                                                                                0,
										(int)ModEditor.layerMagnifier.sizeF.Width,
										(int)ModEditor.layerMagnifier.sizeF.Height
							);
				oldRec = new Rectangle(0,
										0,
										(int)ModEditor.layerMagnifier.sizeF.Width,
										(int)ModEditor.layerMagnifier.sizeF.Height
							);
				g.DrawImage(ModEditor.layerMagnifier.bitmap, newRec, oldRec, GraphicsUnit.Pixel);
			}
xuzuning 2016-07-14
  • 打赏
  • 举报
回复
在 MouseMove 事件中处理 MouseEventArgs e 的属性有: X 鼠标的 x 坐标 Y 鼠标的 y 坐标 Button 鼠标按键 .....

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧