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 に答える