2011-05-11 99 views
0

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

+0

http://stackoverflow.com/questions/5950730/cursor-magnifier-c-net http://stackoverflow.com/questions/5947942/zoom-in-out-images-in-c你不断询问同样的问题一次又一次。只要坚持一个问题,不要指望我们为你做所有事情。 – 2011-05-11 12:58:45

回答

0

我很久以前做过类似的事情,但不知道今天是否存在最好的方法或更好的方法。我通过放大强度确定了我的观看区域到单个像素的映射。常规图像上的每个像素都表示一个尺寸不等的小矩形,具体取决于放大倍数,并且它与像素具有相同的颜色属性。

我想出了多少像素矩形可以放入我的查看区域,然后用它来计算原始上的快照矩形大小。我从顶部到左边读取每个像素,直到到达左下角,在快照中为每个像素创建这些矩形,并将它们依次放置在查看区域图像中。

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

就像我说的,我相信他们是更好的方式来做到这一点,因为我只是在最后一刻匆匆而过。