在 C# 中将带有标签的图片框保存为 JPEG

Save picturebox with labels in it as JPEG in C#

我是 C# 和 Windows 表单的新手,我想以 JPEG 格式保存带有标签的 PictureBox

到目前为止,这是我的代码:

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "JPG(*.JPG)|*.jpg";  
if(sfd.ShowDialog() == DialogResult.OK)
{
    pictureBox1.Image.Save(sfd.FileName, 
System.Drawing.Imaging.ImageFormat.Jpeg);
}

图片框里有标签,但也没有保存。你有什么想法吗?

最简单的选择是将这些标签添加到 PictureBox 控件中。然后使用 DrawToBitmap 您可以将这些标签和图像绘制到位图中:

var bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bm, new Rectangle(0,0,pictureBox1.Width, pictureBox1.Height));

然后以您需要的任何格式保存位图。

注1:保存后不需要的位图不要忘记处理

注释 2DrawBitmap 绘制标签,只要将它们添加到 Controls 的集合中PictureBox:

var label1 = new Label() { 
    Text = "Some Text",
    BackColor = Color.Transparent,
    Location = new Point(10, 10)
};
pictureBox1.Controls.Add(label1);