c# - 将所有绘制的对象保存到位图中

标签 c# bitmap save picturebox

我有一个 Canvass (PictureBox),可以在上面绘制形状、图像或文本,如下图所示。我现在要做的是将它们全部保存到一个BITMAP 文件 中。我不知道怎么开始?

enter image description here

PS:我使用不同的 Graphics 对象来绘制每一个。

最佳答案

找到了解决方法,这会将绘图保存在我的 pictureBox/Canvass 中。

private void button2_Click(object sender, EventArgs e)
    {
        SaveFileDialog save = new SaveFileDialog();

            //Creates a filter fir saving the Project File
            save.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp); *.PNG|*.jpg; *.jpeg; *.gif; *.bmp; *.PNG";     
            save.DefaultExt = ".bmp";
            save.AddExtension = true;

            if (save.ShowDialog() == DialogResult.OK)
            {
                using (var bmp = new Bitmap(pictureBox_Canvass.Width, pictureBox_Canvass.Height))
                {
                    pictureBox_Canvass.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
                    bmp.Save(save.FileName);
                }
            }
    }

样本输出

enter image description here

关于c# - 将所有绘制的对象保存到位图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53313043/

相关文章:

c# - 拨出电话录音 [UCMA, S4B]

c# - 如何在 Xamarin.Forms.Map 中获取当前位置或移动到当前位置

c# - 计算 Parallel.ForEach 使用的线程数

android - 从 Android 路径中带有空格的 URL 下载图像

javascript - 使用循环和 localStorage 保存所有变量 [JavaScript]

intellij-idea - IntelliJ IDEA 2016.3.4 每 1 秒自动保存一次我的文件

c# - HTML 十六进制抛光字符

android - 位图:无法获取对像素的强引用

c++ - 来自原始像素数据的损坏的 QImage

ios - 需要创建一个用户默认值,将双倍保存为高分(swift 3)