2011-04-27 9 views
0

C#을 사용하여 비트 맵에서 avi 파일을 만듭니다. 나는이 웹 카메라 사용하여 촬영 한 .BMP 저장된 파일을 사용하는 경우 AVI 파일을 만들 수 있어요비트 맵 개체와 비트 맵 파일의 차이점은 무엇입니까?

:

Bitmap bitmap = (Bitmap)Image.FromFile("abc.bmp"); 

을하지만 그 다음 배열이나 ArrayList를,에서 촬영 된 비트 맵을 저장하려고하면 avi가 올바르게 생성되지 않습니다. - 손상됨 :

Bitmap bitmap = (Bitmap)BitMapList[0]; 

참고 : BitMapList는 비트 맵 배열입니다.

누군가가 내게 충돌이 무엇인지 알려주실 수 있습니까?

+0

메모리에 비트 맵을 저장하는 방법에 문제가있을 수 있습니다. 그것에 대한 코드 스 니펫을 제공 할 수 있습니까? – LazyOfT

+0

capturedImage.Save ("abc.bmp", ImageFormat.Bmp); capturedImage는 System.Drawing.Image –

답변

1

Bitmap 클래스와 비트 맵 파일 형식은 비슷한 이름을 가지고 있지만 직접 관련이 없습니다.

비트 맵 파일 형식은 이미지를 파일로 저장하기위한 파일 형식 중 하나입니다. Bitmap 클래스는 메모리에 이미지를 저장하는 데 사용됩니다. 파일에서 이미지 형식을로드하면 해당 형식이 디코딩되고 파일 형식에 관계없이 이미지 데이터가 들어있는 Bitmap 개체가 생성됩니다. 비트 맵 파일 형식과 관련이 없습니다.

Bitmap 개체를 배열에 배치하는 데 특별한 것은 없습니다. 차이점을 발견하면 배열에 객체를 넣는 방법에 문제가 있습니다.

+0

입니다. 귀하의 대답을 통해 비트 맵 파일의 비트 맵 객체와 비트 맵 객체 자체가 다른 것 같아요. avi는 비트 맵 파일에서 비트 맵 객체 만 받아들이는 것처럼 보이지만 비트 맵 객체이기 때문에 보조 스토리지에 모든 비트 맵 파일을 저장하는 것 이외의 배열에 저장하려고합니다. 내 의견을 말해 줄래? –

+0

@dia :'Bitmap' 객체를 파일에서 로딩하는 것보다 다른 방법으로 생성한다면, 그것들은 다를 수 있습니다. 적절한'PixelFormat' 값을 사용해야합니다. 기본값은'Format32bbpArgb'이지만 파일에서로드 할 때'Format24bbpRgb'를 사용 중일 수 있습니다. avi를 생성하는 코드가 어떤 형식을 기대하는지 확인해야합니다. – Guffa