2017-10-18 3 views
1

.img 파일에서 정보를 추출해야하는 프로젝트를 진행 중입니다. 알려진 점은 .img 파일에 512x512 픽셀의 이미지가 있고 각 픽셀의 크기가 2 비트 인 short입니다. 이미지를 파일에서 추출해야합니다. 문제는 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); 

이제

<Image x:Name="image"/> 
XAML

에서 이미지 요소가있을 수 있습니다

의 Source 속성을 BitmapSource로 설정하십시오.

image.Source = bitmap;