我有一个 .png 格式的图像。它是一个圆形球。我必须通过将图像转换为二进制来将图像插入到我的数据库中。然而,在我取回它之后,它的透明度变成了黑色。有谁知道我该如何解决?
仅供参考:我知道二进制不承认透明度。
根据 Corey 的要求:我正在使用 Windows 窗体应用程序将图像插入数据库。
private void btnBrowse_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "image files|*.jpg;*.png;*.gif;*.mp3";
DialogResult dr = ofd.ShowDialog();
if (dr == DialogResult.Cancel)
return;
pbImage.Image = Image.FromFile(ofd.FileName);
txtImage.Text = ofd.FileName;
}
至于查询
SqlConnection cn = new SqlConnection(@"Data Source=localhost;Initial Catalog=Games;Integrated Security=True");
MemoryStream ms = new MemoryStream();
pbImage.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] image = new byte[ms.Length];
ms.Position = 0;
ms.Read(image, 0, image.Length);
SqlCommand cmd = new SqlCommand("INSERT into CorrespondingBall(blueBallImage) values(@image)", cn);
cmd.Parameters.AddWithValue("@image", image);