2011-01-31 83 views
1

這將是一個菜鳥問題。 我是新來的c#如何將圖像轉換爲字節[]在C#

我有一個文件上傳服務器控件,我用它來保存圖像到服務器。

我有,在我的圖書館,使用此參數將圖像調整功能:

byte[] resizeImage(byte[] image, int witdh) 

是我應該使用。 現在,我正在將我的文件保存爲upImage.saveas(「filepath」)的某個路徑;

好嗎?

現在,我想調整此圖像的大小,我不知道如何將該圖像轉換爲字節?

哪裏是文章轉換?無論我看到,我只能看到字節圖像,但我想要其他方式..

請幫忙嗎?

+0

的類型是`Image`的upImage? – 2011-01-31 16:07:40

+0

no是類型上傳控件。其中,客戶點擊瀏覽按鈕在他們我的圖片選擇圖像,然後將其保存 – 2011-01-31 16:08:48

+0

如果是客戶端,那麼你就不能運行C#代碼 – 2011-01-31 16:14:17

回答

5

你的意思是將保存的文件轉換爲byte[]數組?如果是這樣,你可以使用File.ReadAllBytes

byte[] imageBytes = File.ReadAllBytes("example.jpg"); 

如果你想直接從您的FileUpload控制搶到byte[]數組,那麼你可以使用FileBytes屬性:

byte[] imageBytes = yourUploadControl.FileBytes; 
4

看起來你可以將其保存到然後將MemoryStream轉換爲字節數組。從here

public byte[] imageToByteArray(System.Drawing.Image imageIn) 
{ 
MemoryStream ms = new MemoryStream(); 
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); 
return ms.ToArray 
} 
0

嗯,簡單的答案是

File.ReadAllBytes("filepath");

但長期的答案是,它不喜歡你的聲音有任何想法,這是怎麼回事,所以我建議你確保該圖像實際上是編碼的方式,你認爲這是(它實際上是在磁盤上的位圖,或者是壓縮?什麼resizeImage實際上做的字節,它會發生什麼樣的形象?爲什麼不resizeImage採取Image,只是調整它與GDI +?)Otherwi你可能會感到驚訝。

0

可以使用Image.Save功能,傳遞一個內存流。一旦完成,您可以使用MemoryStream.Read或MemoryStream.ToArray來恢復字節。