【问题标题】:In database stored image getting disturb in asp.net在数据库中存储的图像在 asp.net 中受到干扰
【发布时间】:2012-11-18 17:39:04
【问题描述】:

我正在做一个需要将 32x32 大小的图标(png)存储在表格中的项目。我将图像存储在表格中,但是当我将其显示在页面上时,感觉有些失真。这些是 png 图像,因此在某个地方它可能是透明的。但是当我在 asp.Net 页面列表中显示该图像时,透明空间被黑色填充。

有什么方法/方法可以将 png 图像存储在表格中而不会扭曲其质量。

谢谢

【问题讨论】:

  • 在将 PNG 存储到数据库之前,您是将图像读入 .NET 类,例如 ImageBitmap,还是只是使用二进制流?
  • 是的,首先是转换成位图。我想,我在这里做错了。但解决办法是什么。
  • BMP 文件格式 不支持 alpha 透明度,所以是的,这就是问题所在。

标签: asp.net database image


【解决方案1】:

当您使用错误的 ImageFormat 将图像保存到字节数组时会发生这种情况。使用此代码:

    public byte[] imageToByteArray(string imagePath)
    {
        return imageToByteArray(System.Drawing.Image.FromFile(imagePath));
    }


    public byte[] imageToByteArray(System.Drawing.Image imageIn)
    {
        byte[] result = null;
        using (MemoryStream ms = new MemoryStream())
        {
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            result = ms.ToArray();
        }
        return result;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 2021-11-26
    • 2011-02-16
    • 2020-10-17
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多