2017-10-18 173 views
1

我正在研究一個項目,我們必須從.img文件中提取信息。衆所周知,.img文件包含512x512像素的圖像,每個像素的大小爲short類型的2位。 我們必須從文件中提取該圖像。問題是,如何使用C#讀取該文件?我目前的二進制讀線:提取內容.img文件

byte[] bytes = System.IO.File.ReadAllBytes("C:\temp\Jonatan\test23.img");

謝謝您的幫助!

+0

你做到了,你剛纔讀它。現在你想用這些信息做什麼?將其繪製到圖像上並以另一種格式顯示或保存?然後,您將不得不創建一個位圖並分配像素顏色。 – CodeCaster

+0

是的,我想要顯示它。我如何分配像素顏色? – user8795061

+0

某些圖像文件具有指示文件格式的[文件簽名](https://en.wikipedia.org/wiki/File_format#Magic_number)。文件的前幾個字節是什麼? –

回答

2

根據您的像素數據的實際格式,創建從字節數組的位圖可能是如此簡單:

var width = 512; 
var height = 512; 
var stride = width * 2; 

var bitmap = BitmapSource.Create(
    width, height, 96, 96, PixelFormats.Gray16, null, bytes, stride); 

你可能現在有一個形象的元素在XAML

<Image x:Name="image"/> 

,並設置其Source屬性到的BitmapSource:

image.Source = bitmap;