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

 我来答
教育小百科达人
2018-03-11 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:473万
展开全部

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

woniujingsu
2018-02-03 · 超过19用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:30.9万
展开全部
代码现在没有,可以给你提供一下思路:
你说的问题类似于放大镜效果,你可以在图片所在控件(如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出来的窗体来显示了

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

希望能够帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式