Как увеличить / уменьшить изображение в окне рисунка, не изменяя его координаты x, y? - PullRequest
0 голосов
/ 18 сентября 2018

Я использую приведенный ниже код для увеличения / уменьшения изображения в графическом окне, однако после увеличения и уменьшения значения x, y изменяются.Например, перед уменьшением масштаба, когда я рисую прямоугольник на объекте на изображении, X, Y, W, H будет 50,50,10,10. Но после небольшого уменьшения данные изменятся на 20,20,3,3.Из-за этого roi сдвигается.Мне нужна опция увеличения, так как изображение немного велико.Кстати, я работаю в 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));
        }
    }
...