You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将base64格式图片字符串显示在Windows Forms项目的picture box控件中

实现步骤
  • 将base64字符串解码为字节数组:调用Convert.FromBase64String()方法传入你的base64字符串即可。
  • 将解码后的字节数组写入内存流:使用MemoryStream类加载字节数组。
  • 从内存流生成Image对象:调用Image.FromStream()方法传入内存流,直接赋值给PictureBox控件的Image属性。
完整代码示例
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;

public class ImageHelper
{
    // base64转Image方法
    public static Image Base64ToImage(string base64String)
    {
        // 如果base64带data:image前缀,先去掉前缀再转换
        if (base64String.StartsWith("data:image"))
        {
            base64String = base64String.Split(',')[1];
        }
        // 解码base64为字节数组
        byte[] imageBytes = Convert.FromBase64String(base64String);
        // 使用using自动释放MemoryStream资源,避免内存泄漏
        using (MemoryStream ms = new MemoryStream(imageBytes))
        {
            return Image.FromStream(ms);
        }
    }

    // 调用示例:可放在按钮点击等事件逻辑中
    private void button1_Click(object sender, EventArgs e)
    {
        // 替换为你自己的base64图片字符串
        string yourBase64Str = "实际的base64图片编码内容";
        try
        {
            // 赋值给PictureBox控件
            pictureBox1.Image = Base64ToImage(yourBase64Str);
            // 可选配置:设置图片自适应控件大小显示
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
        }
        catch (Exception ex)
        {
            MessageBox.Show($"图片加载失败:{ex.Message}");
        }
    }
}
注意事项
  • .NET Framework项目默认已引用System.Drawing依赖,.NET Core/.NET 5+版本的Windows Forms项目需要先通过NuGet安装System.Drawing.Common包,再使用图片相关API。
  • 确认传入的base64字符串是合法的图片编码,若存在格式错误、字符缺失等问题会抛出转换异常。
  • 建议在转换逻辑外层加异常捕获,避免非法输入导致程序崩溃。

内容的提问来源于stack exchange,提问作者Tomer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:45:05