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中.当鼠标移到一个图片上怎样能使图片放大??的主要内容,如果未能解决你的问题,请参考以下文章