Dot-Net
從字節數組中獲取 Image 對象
我有一個圖像的字節數組(儲存在數據庫中)。我想創建一個 Image 對象,創建幾個不同大小的圖像並將它們儲存回數據庫中(將其保存回字節數組)。
我不擔心數據庫部分或調整大小。但是有沒有一種簡單的方法來載入 Image 對象而不將文件保存到文件系統,然後在我完成調整大小後將其放回字節數組中?如果可以的話,我想在記憶中做這一切。
Something like: Image myImage = new Image(byte[]); or myImage.Load(byte[]);
您將使用 MemoryStream 來執行此操作:
byte[] bytes; ... using (var ms = new System.IO.MemoryStream(bytes)) { using(var img = Image.FromStream(ms)) { ... } }
根據您對另一個答案的評論,您可以嘗試對儲存在 a 中的圖像執行轉換,
byte[]然後將結果返回為 anotherbyte[]。public byte[] TransformImage(byte[] imageData) { using(var input = new MemoryStream(imageData)) { using(Image img = Image.FromStream(input)) { // perform your transformations using(var output = new MemoryStream()) { img.Save(output, ImageFormat.Bmp); return output.ToArray(); } } } }這將允許您傳入
byte[]儲存在數據庫中的數據,執行您需要的任何轉換,然後返回一個byte[]可以儲存回數據庫的新數據。