gpt4 book ai didi

c# - 在图像控件中显示 byte[]

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:37 26 4
gpt4 key购买 nike

所以我从存储图像的数据库中收集了一个 varbinary(MAX) 值。它被转换为 byte[],然后目的是在图像控件中显示它。

这是我从数据库读取的地方

        public TemplateData(SqlDataReader dr)
{
initialiseData();
if (dr.HasRows)
{

Logo = (byte[])dr["Logo"];

//Logo = dr["Logo"].ToString();
TemplateId = dr["TemplateId"].ToString();
Comment = dr["Comment"].ToString();
SchemeCode = dr["SchemeCode"].ToString();
Version = dr["Version"].ToString();
}
}

这是将值显示到相应控件中的地方

        protected void ddSchemeCode_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddSchemeCode.SelectedIndex > 0)
{
// Existing Data to load from database
TemplateData temp = DataClass.ReturnData(ddSchemeCode.SelectedItem.Text);
if (temp != null)
{
txtVersion.Text = temp.Version;
txtComment.Text = temp.Comment;
txtSchemeCode.Text = temp.SchemeCode;
txtTemplateId.Text = temp.TemplateId;
img.Src = temp.Logo;
}

所以目前我正在将一个 byte[] 传递到图像控件的源中,而它会喜欢一个字符串。我试过使用 Convert.ToBase64String(Logo)ToString(Logo) 将其转换为字符串,但它们不起作用。

非常感谢任何帮助。伙计们干杯。

最佳答案

尝试将字节数组转换为图像并将其分配给图片框,如下所示,

        try
{
using (MemoryStream mStream = new MemoryStream())
{
// where pData is your byte array
mStream.Write(pData, 0, Convert.ToInt32(pData.Length));
Image originalImage = Image.FromStream(mStream);
picBox.Image = originalImage;
}
}
catch (Exception ex)
{
}

希望对您有所帮助。

关于c# - 在图像控件中显示 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30374053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com