【发布时间】:2009-08-30 14:40:22
【问题描述】:
我有一个图片框,其中的图像可以使用不同的值进行缩放。然后我尝试找出光标在图片框上的位置。我在图片框鼠标移动事件上写了以下代码:
int x = (2 * e.X - pictureBox1.Width + pictureBox1.Image.Width) / (2 * _scale / 100);
int y = (2 * e.Y - pictureBox1.Height + pictureBox1.Image.Height) / 2 * _scale / 100);
这里的 _scale 是缩放后的值,可以是 10、50、100 或 200 等。
我的问题:
如果缩放大于 100%,它会给出正确的值。但是如果缩放小于 100,它会给出不正确的值。如果即使缩放小于 100%,我如何给出正确的值?
更多解释:
对于缩放,我编写了以下代码。
pictureBox1.Image = new Bitmap(Orignal_image, (int)( Orignal_image .Width * scale / 100), (int)( Orignal_image.Height * scale / 100));
编辑:图片框的大小模式为centerImage。并且图片框宽度不必等于图像。它的宽度可能小于图像,然后图像显示在图片框的中心。我只需要图像的位置。 (即,0 像素由图像的起始位置而不是图片框给出)。
【问题讨论】:
标签: c# .net gdi+ image-manipulation