2010-07-25 72 views
1

我有一個應用程序,它使用移動攝像頭捕獲的圖像並將其發送到web服務。目前我正在將圖像放入一個字節[]中,然後傳輸。這是通過:位圖<-> JPEG轉換

filename = cameracapturedialog.FileName; 
FileStream fs = new FileStream(filename, FileMode.Open); 
byte[] ImageByte = new byte[fs.Length]; //file to send 
fs.Read(ImageByte, 0, Convert.ToInt32(fs.Length)); 

但現在我想進行一些處理(調整),所以我不得不把圖像成位圖對象,並且在處理之後,我將它轉換爲JPEG。

有沒有一種方法可以將JPEG轉換爲位圖,然後返回JPEG,而不需要更改像素(對於測試,我將不對位圖執行任何處理)?因此,如果我將第一張JPEG與第二張JPEG比較,我需要這些文件完全相同。

您認爲最好的解決方案是什麼?我可以使用其他位置而不是位圖嗎?任何建議與一些代碼將不勝感激。

+0

http://stackoverflow.com/questions/41665/bmp-to-jpg-png-in-c – jgauffin 2010-07-25 11:11:12

+0

謝謝,但不工作的移動sdk :( – mouthpiec 2010-07-25 11:49:32

回答

0

不,你可以保存它的質量= 100這將是差不多像原始圖像。但是,由此產生的文件將是巨大的

1

JPG是一種有損格式。由於編碼算法的工作原理,它總是會丟失信息。因此,無論使用什麼編碼器,您都無法從jpg獲取原始圖像。