2013-11-24 16 views
0

我有一個一維數組,它是一個64x64圖像8位。我想在Windows窗體上顯示它,但我不知道如何做到這一點。有人可以提供一個示例代碼來執行此操作。將一維字節數組作爲圖像

byte [] image = new byte[64*64]; 

我已經試過這樣:

ImageConverter ic = new ImageConverter(); 
    Image img = (Image)ic.ConvertFrom(image); <--- Parameter not valid error 
    Bitmap bitmap1 = new Bitmap(img); 
    bitmap1.SetResolution(64, 64); 

    e.Graphics.DrawImage(img, 400, 10); 

但是,這並不工作,我得到一個Parameter not valid error

任何幫助將不勝感激。

+0

我明白你想要做什麼,在Windows窗體應用程序中顯示圖像,但我不明白的是你試圖通過這樣做來實現的目標,你想達到什麼目的?你想創建一個繪圖應用程序嗎? – furier

+0

你的意思是你的圖像有**字節數據**嗎?當然它將是一個* 1維數組*。 –

+1

請說明'image'是如何被填充的,以便澄清你正在嘗試完成的事情。 –

回答

1

您需要首先你的字節數組轉換爲圖像:

byte [] imageBuffer = new byte[64*64]; 

... populating the byte array... 

Image image = null; 
using (MemoryStream ms = new MemoryStream(imageBuffer)) 
{ 
    image = Image.FromStream(ms); 
} 

爲了顯示它的形式,你需要添加到您的形式PictureBox控制,AMD設置它的Image屬性:

pictureBox1.Image = image ; 
+0

不,它不是從文件加載,我從相機抓取數據,它提供給我一個字節數組。我選擇了64x64的投資回報率,我想在窗體中顯示。 – Godspped

+0

@Godspped我編輯了符合您評論的答案。 –

+0

感謝您的代碼更新,我試過了,但我仍然得到一個錯誤參數無效的圖像= Image.FromStream(ms)調用。 – Godspped