C# winform DrawToBitmap вне экрана
Есть ли способ, чтобы захватить элемент управления формы окна, если он больше, чем ваш монитор?
Например, моя winform 3000px на 3000px
Монитор 1080p
this.Height = 3000;
this.Width = 3000;
Graphics g = this.CreateGraphics();
//new bitmap object to save the image
Bitmap bmp = new Bitmap(this.Width, this.Height + 1000);
//Drawing control to the bitmap
this.DrawToBitmap(bmp, new Rectangle(0, 0, this.Width, this.Height + 1000));
bmp.Save(@"C:\Users\Watson\Documents\Visual Studio 2013\WebSites\WebSite3\Images\button.jpg", ImageFormat.Jpeg);
bmp.Dispose();
Снимок экрана всегда ограничен размером моего монитора. Есть ли способ отрисовки вашего приложения, даже если оно не на экране?
1 ответ
Вам нужно установить элемент управления, чтобы отсоединить себя.
Panel1.Dock = DockStyle.None // If Panel Dockstyle is in Fill mode.
Panel1.Width = 5000 // Original Size without scrollbar
Panel1.Height = 5000 // Original Size without scrollbar
Dim bmp As New Bitmap(Me.Panel1.Width, Me.Panel1.Height)
Me.Panel1.DrawToBitmap(bmp, New Rectangle(0, 0, Me.Panel1.Width, Me.Panel1.Height))
bmp.Save("C:\panel.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
Panel1.Dock = DockStyle.Fill
После разблокировки Drawtobitmap вернет изображение ширины и высоты панели.
Сохранение панели в формате JPEG, сохранение только видимых областей C#