winform中.当鼠标移到一个图片上怎样能使图片放大??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform中.当鼠标移到一个图片上怎样能使图片放大??相关的知识,希望对你有一定的参考价值。

求代码。。。。

代码现在没有,可以给你提供一下思路:
你说的问题类似于放大镜效果,你可以在图片所在控件(如pictureBox)的鼠标进入事件里编写代码show出一个窗体,窗体无边框上边只有一个图片容器(假如还是pictureBox,PS:设置dock为Fill,图片的显示模式忘了是哪个了,好像是zoom,反正就是拉伸的那个)里面显示你的图片(也就是你鼠标移动到的图片),此窗口的大小应按你的需要在show出来之前设置好(如果是按图片真实大小显示的话可以按照图片的像素设置,如果是固定大小窗口直接在定义窗体时设置好就可以了)
1,如果放大的图片是原图的整张图片就很简单了,如上所说弹窗出来的窗体图片设置为原图片就行了
2,如果放大的图片是原图的一部分(如同网上商品图片的放大)就稍微有点复杂了,首先要取出原图片BitMap bmp=new BitMap(../1.jpg) 然后利用Graphic类,里面有个方法可以取出一个指定rectangle(矩形)大小的图片复制到另一个图片里代码大致如下:
假如你要放大图片的矩形为10*20的
BitMap bmpDraw=new BitMap(10,20);
Graphic g=bmpDraw.CreateGrahic();(方法名记不清楚了,你可以找找,就是用bmpDraw对象见一个Graphic对象,后面用这个Graphic对象往bmpDraw里面绘制要放大的图像)
g.clear();(漂白背景,也可以用Draw方法绘制白色背景)

BitMap bmp=new BitMap(../1.jpg);(取出原图像)
g.DrawImage(bmp,new Rectangle(10,20),...);(参数记不清了,是那个绘制指定图片区域的那个)此处是绘制放大图片到新对象bmpDraw中,此时就可以将此对象传递给show出来的窗体来显示了

至此基本功能就完成了,全凭记忆书写,有误的地方请自己查证!

希望能够帮到你
参考技术A

把图片控件置于顶层,代码设置该图片控件尺寸变大。
自绘的话,绘制更大的图片,绘制到新的坐标,新的区域大小。

以上是关于winform中.当鼠标移到一个图片上怎样能使图片放大??的主要内容,如果未能解决你的问题,请参考以下文章

鼠标移到文字上出现图片提示的代码?

C# winform鼠标移动到窗口给窗口加边框并获得句柄

高分急求:VC中鼠标移到按钮上后,更改按钮图片的实现代码

如何实现鼠标放在图片上显示一个播放图标?

c# 在 winform 开发中,当鼠标移动到某图片时,该图片自动隐藏,移开时,又显示出来。求代码。

C# 中的ToolStrip上的按钮,当鼠标移到上面去的时候背景色就变为蓝色了,如何修改为其他的颜色?