Я пытался разработать приложение на Windows Forms C# с использованием ScrollBars и столкнулся с проблемой: независимо от того, как вы вводите rect.X = (int)(pictureBox1.HorizontalScroll.Value/zoomLevel); rect.Y = (int)(pictureBox1.VerticalScroll.Value/zoomLevel); не работает, пробовал заменить ВертикальныйScroll.Value на vScrollBar1.Value но все равно не работает. Также подключается с помощью System.Windows.Forms;, который поддерживает полосы прокрутки. Заранее благодарю за ответы и помощь.
Rectangle rect = new Rectangle();
rect.Width = (int)(pictureBox1.Width / zoomLevel);
rect.Height = (int)(pictureBox1.Height / zoomLevel);
rect.X = (int)(pictureBox1.HorizontalScroll.Value / zoomLevel);
rect.Y = (int)(pictureBox1.VerticalScroll.Value / zoomLevel);
Bitmap bitmap = new Bitmap(rect.Width, rect.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.DrawImage(pictureBox1.Image, new Rectangle(0, 0, rect.Width, rect.Height), rect, GraphicsUnit.Pixel);
}
bitmap.Save(fileName, format);
PropertyItem hScrollItem = pictureBox1.HorizontalScroll.CreatePropertyItem();
hScrollItem.Id = 1;
hScrollItem.Type = 4;
hScrollItem.Value = BitConverter.GetBytes(pictureBox1.HorizontalScroll.Value);
PropertyItem vScrollItem = pictureBox1.VerticalScroll.CreatePropertyItem();
vScrollItem.Id = 2;
vScrollItem.Type = 4;
vScrollItem.Value = BitConverter.GetBytes(pictureBox1.VerticalScroll.Value);`