目前我正在學習使用圖形方法繪製條形碼並將其配置爲位圖。但是,當我要保存它時,雖然它可以成功保存,但結果是黑色圖像,從中看不到任何東西。發生了什麼問題?如何將圖形轉換爲位圖並將其保存在c#中?
private void buttonDraw_Click(object sender, EventArgs e)
{
System.Drawing.Graphics g = this.pictureBoxBarcode.CreateGraphics();
g.FillRectangle(new System.Drawing.SolidBrush(System.Drawing.SystemColors.Control),
new Rectangle(0, 0, pictureBoxBarcode.Width, pictureBoxBarcode.Height));
ean13.DrawEan13Barcode(g, new System.Drawing.Point(0, 0));
g.Dispose();
}
這是我保存功能
public void Save(Bitmap original)
{
// Displays a SaveFileDialog so the user can save the Image
// assigned to Button2.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif|Png Image|*.png";
saveFileDialog1.Title = "Save an Image File";
saveFileDialog1.ShowDialog();
// If the file name is not an empty string open it for saving.
if (saveFileDialog1.FileName != "")
{
// Saves the Image via a FileStream created by the OpenFile method.
System.IO.FileStream fs =
(System.IO.FileStream)saveFileDialog1.OpenFile();
// Saves the Image in the appropriate ImageFormat based upon the
// File type selected in the dialog box.
// NOTE that the FilterIndex property is one-based.
switch (saveFileDialog1.FilterIndex)
{
case 1:
original.Save(fs,
System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case 2:
original.Save(fs,
System.Drawing.Imaging.ImageFormat.Bmp);
break;
case 3:
original.Save(fs,
System.Drawing.Imaging.ImageFormat.Gif);
break;
case 4:
original.Save(fs,
System.Drawing.Imaging.ImageFormat.Png);
break;
}
fs.Close();
}
}
我不能提供任何圖片,證明我的名聲是不夠的,這樣做的。抱歉。
我懷疑有人可以在不看一些代碼的情況下回答問題。 – Wazaaaap
看看:https://stackoverflow.com/questions/8316987/background-turns-black-when-saving-bitmap-c-sharp – SteveFerg
@SteveFerg我很好奇這是什麼畫區?畫布,位圖或其他東西? –