0

我在面板中绘制了图像。当我选中“放大”复选框并将鼠标光标放在面板上时,覆盖光标的矩形区域应该被放大。我该怎么做?我搜索了 Codeproject.com 并没有找到这样的。

4

2 回答 2

2

这就是您在 WPF 中执行此操作的方式

在 WinForms 中它不是那么容易但仍然可行。您必须在图片框顶部添加控件并使用光标移动它(并在放大镜中调整图像的原点以移动)。

于 2011-05-11T12:29:51.967 回答
0

我很久以前做过类似的事情,但我不知道这是最好的方法还是今天存在更好的方法。我通过放大强度确定了我的可视区域到单个像素的映射。常规图像上的每个像素代表一个大小不同的小矩形,具体取决于放大级别,并且它也具有与像素相同的颜色属性。

我计算出我的查看区域可以容纳多少个像素矩形,然后用它来计算原始快照上的矩形大小。我从上到左读取每个像素,直到到达左下角,并在快照中为每个像素创建这些矩形,并将它们一个接一个地放置在可视区域图像中。

它工作得很好,速度也很快,但我不得不双缓冲查看图像面板以获取更新。这种方法的一个大问题是我无法从原始图像中缩小。

就像我说的那样,我确信他们是更好的方法来做到这一点,因为我只是在最后一分钟把一些东西搅在一起。

于 2011-05-11T12:30:18.390 回答