获得放大图片上的鼠标位置

问题描述 投票:0回答:2

我正在创建一个屏幕截图制作器/上载器,并且一切正常,但是现在我想整合诸如绘画之类的东西。所以首先我要创建铅笔功能。但是,这里开始出现一些问题,我可以画:D,但不能放在鼠标的位置上。除了我的光标,他还处于其他位置?

所以问题是:想要在缩放的图片框上获得鼠标位置吗?

我的代码:

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (draw && pencil)
        {
            Graphics panel = Graphics.FromImage(ScreenShot);

            Pen pen = new Pen(Color.Black, 14);

            pen.EndCap = LineCap.Round;
            pen.StartCap = LineCap.Round;

            panel.DrawLine(pen, pX, pY, e.X, e.Y);

            pictureBox1.CreateGraphics().DrawImage(ScreenShot, pictureBox1.Width, pictureBox1.Height);

            pictureBox1.Invalidate();
        }
        Point p = pictureBox1.PointToClient(Cursor.Position);

        pX = p.X;
        pY = p.Y;
    }
c# bitmap position mouse picturebox
2个回答
0
投票

[在缩放图像上使用鼠标时,报告的像素为缩放坐标。因此,我们需要获得真实像素。.

以某种方式设置完之后。.


0
投票

我也使用缩放图像。我只是使用此代码,即可正常工作。因此,您可以在放大/缩小之前与位图(原始图像)进行比较。

© www.soinside.com 2019 - 2024. All rights reserved.