【发布时间】:2018-11-12 16:03:07
【问题描述】:
我在 windows 窗体上绘制图形,而不是在图片框上。我想将我的 Windows 窗体的视图保存到桌面上的特殊文件夹中。我不知道制作屏幕截图是否更好,或者我应该尝试将其保存为我的文件夹中的图像(位图)。 通常我尝试了这两个选项,但它不起作用:( 我把我的尝试之一放在这里...
public void Form1_Paint(object sender, PaintEventArgs e)
{
int x1, y1, x2, y2;
Random losowa1 = new Random();
x1 = losowa1.Next(0, 200);
y1 = losowa1.Next(120, 300);
x2 = losowa1.Next(300, 480);
y2 = losowa1.Next(120,300);
e.Graphics.FillRectangle(Brushes.Black, x1, y1, 100, 100);
e.Graphics.FillEllipse(Brushes.Black, x2, y2, 100, 100);
Bitmap bitmap = new Bitmap(this.Width, this.Height);
DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
bitmap.Save("@C:\\Desktop", ImageFormat.Jpeg);
// MessageBox.Show("saved");
System.Threading.Thread.Sleep(1000);
this.Close();
}
和
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
Form1 OknoStart = new Form1();
OknoStart.ShowDialog();
}
【问题讨论】:
-
你为什么要在表格上画画?在位图上绘制并将其显示为表单的背景图像似乎更明智。另请注意,无论您认为
Thread.Sleep(1000);在那里做什么,它都不是。它只会阻塞你的 UI 线程。使用适当的事件来表示操作完成。
标签: c# bitmap screenshot save-as