2012-06-26 3 views
2

JPG 파일을 2 차원 int [] [] 배열로 변환 할 수 있습니까? 탑승객 중에 솔루션은이 ByteArray로 변환하는,하지만 난 .... int 배열에 필요한이미지 파일을 이미지 바이트로 변환하는 방법

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

이미지의 픽셀을 int 값 또는 파일의 원시 바이트로 필요합니까? – fvu

+0

예. 픽셀이 필요합니다 .... – davidOhara

+0

WPF에서 작업하려면이 기능이 필요하다는 점을 잊어 버렸습니다. – Dialecticus

답변

3

ReadAllBytes는 JPEG의 픽셀을 가져 오지 않습니다. JPEG는 압축 된 이미지 유형입니다. 압축을 풀려면 Image 클래스에 먼저로드해야합니다. 그런 다음 이미지의 픽셀을 액세스하고 너비와 높이를 결정할 수 있습니다.

Bitmap image = new Bitmap("example.jpg"); 

// Loop through the image 
for(x=0; x<image.Width; x++) 
{ 
    for(y=0; y<image.Height; y++) 
    { 
     Color pixelColor = image1.GetPixel(x, y); 
     my_int_array[x][y] = pixelColor.ToArgb(); 
    } 
} 
+0

내가 언급 한 함수는 픽셀을 얻지 못한다는 것을 알고있다. 질문은 int 배열의 픽셀을 얻는 방법이다 ... – davidOhara

+0

업데이트 된 답변 –

2

대부분의 일부 이미지 처리 API에 대한 기본 이미지 원시 액세스 (제공해야하는 경우 실제로 필요한 것일 가능성이 높음) 파일에 액세스하지 않으려면 How to: Use LockBits을 참조하십시오.

이 기사에서는 스캔 및 보폭과 같은 몇 가지 기본 사항도 설명합니다. Using the LockBits method to access image data.

관련 문제