为图片框创建放大镜效果

时间:2013-08-11 05:22:57

标签: c# picturebox magnify

我想知道如何为照片框创建放大镜的效果。 不缩放图片框,但放大PictureBox控件(圆形或矩形)中图像的一部分,并设置玻璃尺寸和放大系数。

它可能只在图片框控件中工作。

语言:C#

提前致谢!

2 个答案:

答案 0 :(得分:0)

基本上,你需要两个图片盒。一个用于整个图像,另一个用于放大部分。此外,您必须根据用户的鼠标位置放置放大的图片框。

你会在http://www.codeproject.com/Articles/21097/PictureBox-Zoom找到一篇关于它的好文章。只需更改源以在适当的位置显示第二个图片框(在用户的光标位置下)。

答案 1 :(得分:0)

您需要2个图片框对象,一个用于图片本身,第二个用于放大区域。

接下来将图片加载到内存中,你没有指定图片的来源,但无论如何我建议使用流。

然后在内存中创建位图图像。

使用图片框的图像方法设置属性。

要为放大图片框创建源图像,您需要克隆选定的部分(计算新图片区域的尺寸)。整个事情并不像你想象的那样微不足道,因为克隆方法接受Rectangle对象作为区域选择器,并且通常用于矩形而不是圆形来复制选择。

我还建议尽快Dispose()未使用的位图对象。

希望这可以帮助。