c# - 使用 C# 将字节转换为图像时出现 "parameter is not valid"

标签 c# mysql arrays image byte

我使用 wamp 服务器本地主机将图像保存到 MySql 数据库,但是当我尝试从 MySql 检索图像并将图像从字节转换为图像时,它给出错误参数无效,我使用了许多技术和许多解决方案,但在徒劳,我使用图像转换器和内存流,但对我来说不起作用,我正在粘贴我的代码,请帮助我,它非常重要。

byte[] img;

MySqlCommand cmd_image = new MySqlCommand("Select image from logindetails where Username = '" + txtUsername.Text + "'", con);
MySqlDataReader Image_Reader = cmd_image.ExecuteReader();
            while (Image_Reader.Read())
            {
                img = (byte[])Image_Reader["Image"];
            }

            System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
            Image image = (Image)converter.ConvertFrom(img);
            pictureBox1.Image = image;

最佳答案

ImageConverter 用于转换图像,而不是创建图像。使用下面的代码:

    Bitmap bitmap;
    using (MemoryStream memoryStream = new MemoryStream(img))
    {
        using (Image imageFromStream = Image.FromStream(memoryStream))
        {
            bitmap = new Bitmap(imageFromStream);
        }
    }
    pictureBox1.Image = bitmap;

请注意,如果您的字节数组不包含图像,您仍然会收到相同的错误。

关于c# - 使用 C# 将字节转换为图像时出现 "parameter is not valid",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49070847/

相关文章:

将指针转换为二维数组

javascript - 如何添加以下代码中的数字?

c# - 使用 Owin.Testing 时获取远程 ip

c# - 使用 Linq 只返回每个项目一次

MySQL:如何通过附加独特的和更新不明确的行来合并两个表(无 PK)

php - 在 mySql 中连接多个表

c++ - C++中的二维对象数组

c# - 使用 GPS 跟踪位置时最小化 Windows 8 Store 应用程序

c# - 在 LINQ 中使用 OrderBy 首先是西里尔字母,然后是拉丁字母

php - 时间戳 Mysql Date_From 作为默认值