2012-11-30 45 views
3

我正在研究一個需要在表中存儲32x32大小圖標(png)的項目。我將圖像存儲在表格中,但是當我將它顯示在頁面上時,感覺有些失真。這些是PNG圖像,所以它可能是透明的。但是,當我在asp.Net頁面列表中顯示該圖像時,透明空間會填充黑色。在數據庫中存儲的圖像在asp.net中打擾

有沒有任何方法可以將png圖像存儲在表格中而不會影響質量。

感謝

+1

存儲PNG數據庫之前,你是在讀圖像到.NET類,如'Image'或'Bitmap'或者你只是使用二進制流? –

+0

代碼在哪裏? –

+0

是的,首先它轉換成位圖。我想,在這裏我犯了錯誤。但是什麼是解決方案。 – Kamlesh

回答

3

這種情況發生時,你將圖片保存到字節數組錯誤的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; 
    } 
相關問題