C# 将带有标签的picturebox保存为C中的JPEG格式#
我不熟悉C#和Windows窗体,我想保存一个带有JPEG格式标签的C# 将带有标签的picturebox保存为C中的JPEG格式#,c#,.net,winforms,picturebox,C#,.net,Winforms,Picturebox,我不熟悉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.ImageForma
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中有标签,但它们也不会保存。你有什么想法吗?最简单的选择是将这些标签添加到
PictureBox
控件中。然后使用可以将这些标签和图像绘制为位图:
var bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bm, new Rectangle(0,0,pictureBox1.Width, pictureBox1.Height));
然后以所需的任何格式保存位图
注意1:如果保存后不需要位图,请不要忘记处理它
注意2:DrawBitmap
仅在将标签添加到图片盒的控件中时才会绘制标签:
var label1 = new Label() {
Text = "Some Text",
BackColor = Color.Transparent,
Location = new Point(10, 10)
};
pictureBox1.Controls.Add(label1);
最简单的选项是将这些标签添加到PictureBox
控件中。然后使用可以将这些标签和图像绘制为位图:
var bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bm, new Rectangle(0,0,pictureBox1.Width, pictureBox1.Height));
然后以所需的任何格式保存位图
注意1:如果保存后不需要位图,请不要忘记处理它
注意2:DrawBitmap
仅在将标签添加到图片盒的控件中时才会绘制标签:
var label1 = new Label() {
Text = "Some Text",
BackColor = Color.Transparent,
Location = new Point(10, 10)
};
pictureBox1.Controls.Add(label1);
我只是用鼠标在picturebox中拖动了它们,我真的看不出它们之间的区别^^^我如何将顶部带有标签的picturebox保存为一个图像?可能重复添加控件到picturebox
,然后DrawToBitmap
将在目标位图上绘制那些控件和PictureBox
的Image
。我刚刚用鼠标在PictureBox中拖动了它们,我真的看不出有什么区别^^^如何将顶部带有标签的picturebox保存为一张图像?可能是将控件添加到picturebox
中的重复,然后DrawToBitmap
将在目标位图上绘制这些控件和picturebox
的图像。谢谢,这非常有效!当我用上面的代码以jpeg格式保存位图时,图片会被切断。你知道为什么保存时图像会被切断吗?^当我将其移动到表单中心时,它变得更清晰,我做了一个更正:pictureBox1.DrawToBitmap(bm,新矩形(0,0,pictureBox1.Width,pictureBox1.Height))代码>。谢谢,效果很好!当我用上面的代码以jpeg格式保存位图时,图片会被切断。你知道为什么保存时图像会被切断吗?^当我将其移动到表单中心时,它变得更清晰,我做了一个更正:pictureBox1.DrawToBitmap(bm,新矩形(0,0,pictureBox1.Width,pictureBox1.Height))代码>。