2010-05-10 2 views
1

이것은 내 코드입니다. 여기에 내가 hv img의 바이트 배열을 형성,이 바이트 배열에 몇 가지 vlue 10 추가 할 노력하고 가치가 255 초과하지 않도록 신경 쓰겠습니다. 나중에 다음 코드를 통해 이미지를 다시 시도하는 경우 나 이 라인에서 오류가 발생하고 ... 무슨 일이 내가 그것을 오는 이미지를 그릴하려고하면 수정하지 않고 .. 문제가 될 수 있지만, 나는 그것을 그리기되지 않은 일부 값 ..바이트 배열을 이미지로 변환하는 동안 오류가 발생했습니다. 바이트 배열을 수정 한 후 바이트 배열이 이미지 자체에서 가져옵니다. #

public Image btoi(byte[] bt) 
{ 
    ms = new MemoryStream(bt, 0, bt.Length); 
    img = Image.FromStream (ms, true); // error at this line 
    ms.Close(); 

    return img; 
} 
+3

바이트가 어긋나는 이유가 있다면 왜 여분의 바이트를 추가하겠습니까? 그리고 어떤 오류가 있습니까? –

답변

1

이미지 데이터를 cahnge 경우 이미지 데이터를 기술하는 헤더를 포함하여 다양한 포맷으로 저장 될 수있다. 픽셀의 RGB 값을 변경하려면 사용중인 이미지 형식이 실제로 RGB 형식으로 데이터를 저장하고 두 번째로 RGB 값이 포함 된 메모리 블록 부분 만 조작해야합니다.

전체 메모리 블록을 변경하면 이미지 너비와 높이를 나타내는 값도 덮어 쓰게됩니다.

관련 문제