3

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

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

谢谢

4

1 回答 1

3

当您将 Image 保存到具有错误 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;
    }
于 2012-11-30T13:50:04.123 回答