如何在不更改其x,y坐标数据的情况下放大/缩小图片框中的图像?

时间:2018-09-18 14:57:42

标签: c# emgucv aforge accord.net

我正在使用下面的代码来放大/缩小图片框中的图像,但是在放大和缩小x,y数据之后。例如,在缩小之前,当我在图像中的对象上绘制矩形时,X,Y,W,H将为50,50,10,10 但是在我缩小一点之后,数据更改为20、20、3、3。 因此,投资回报率发生了变化。我需要缩放选项,因为图像有点大。 顺便说一句,我在单个项目中同时在EMGUCV和Accord中工作,所以不能使用emgucv imagebox。

我的代码:

    Image zoom1(Image img, Size size)
    {
        Bitmap bmp = new Bitmap(img, img.Width + (img.Width * size.Width / 
        100), img.Height + (img.Height * size.Height / 100));
        Graphics g = Graphics.FromImage(bmp);
        g.InterpolationMode = 
        System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        return bmp;
    }

    private void trackBar1_Scroll(object sender, EventArgs e)
    {
        if (trackBar1.Value > 0 | trackBar1.Value < 0)
        {
            pictureBox1.Image = zoom1(imgoriginal, new 
             Size(trackBar1.Value, trackBar1.Value));
        }
    }

0 个答案:

没有答案