Как прокрутить увеличенное изображение C # - PullRequest
0 голосов
/ 31 мая 2019

У меня есть поле для картинок, и я могу увеличить его.

Когда я увеличиваю изображение, мне нужно прокручивать изображение влево или вправо.

Можете ли вы сказать мне, почему, когда я увеличиваю изображениелевая сторона зафиксирована, и я не могу прокрутить влево?

Я активировал автопрокрутку на главной панели, но я могу прокручивать только вправо, но мое изображение центрировано, и мне нужно прокрутить также, чтобыleft.

То, что я хочу, похоже на то, когда вы масштабируете и прокручиваете изображение в приложении Photo в Win 10. Но я использую полосу прокрутки, а не указатель мыши.

Структуракак на следующем изображении, красным цветом на главной панели, и я зеленую коробку с картинками.

enter image description here

    private void image_Scroll(object sender, EventArgs e)
    {
        int pbWidth = pbImg.Image.Width + (pbImg.Image.Width * ztb.Value / 100);
        int pbHeight = pbImg.Image.Height + (pbImg.Image.Height * ztb.Value / 100);

        int mpWidth =  mainPanel.Width:
        int mpHeight = mainPanel.Height;

        int pbX = (mpWidth - pbWidth) / 2;
        int pbY = (mpHeight - pbHeight) / 2;

        pbImg.Size = new Size(pbWidth, pbHeight);

        Point p = new Point(pbX, pbY);
        pictureBox.Location = p;
    }
...