2014-10-01 4 views
-1

내가 아비 동영상과 함께 제공되었습니다에서 .AVI 파일의 가로 세로 비율을 취득하고 난 DirectShow를 lib 디렉토리를 사용하여 표시해야합니다. 그래서 프레임별로 비트 맵 이미지 프레임을 표시하기 위해 pictureBox를 사용하고 있지만 가로 세로 비율을 유지하려고합니다. Windows Form에서이 작업을 수행하는 방법 미리 감사드립니다. 편집 : 나도 같은 화면 비율에 비트 맵 이미지의 일부를 저장해야합니다.어떻게 C#을

+0

** PictureBox는 ** 당신을 위해 ** 않습니다. 이미지를 가운데에 표시하거나 (결국 자른) 확대/축소 할 수 있습니다 (종횡비 유지). –

+0

DS를 사용하는 경우 왜 비디오를 실행하는 대신 비트 맵을 표시합니까? – Plutonix

+0

사실, 나는 영화의 프레임도 가지고 작업 해왔다. 는 DS에서 비트 맵을 얻을 때 형식 본래 AR – midnitekoder

답변

0

AVI 포맷은 비디오 화면 비율을 유지하지 않기 때문에 당신은 단지 비디오 스트림의 픽셀 해상도에 따라 정사각형 픽셀 및 화면 비율을 가정 할 수있다. 스트림에서 특정 프레임/비트 맵을 얻는 대부분의 방법은 원본 비디오 해상도로 이미지를 얻습니다. 가로 세로 비율을 유지하려고하는 비트 맵을 더 많이 조작하면 이미지 치수를 사용하여 간단한 수학을 수행한다고 가정합니다. 이미지를 그리는 컨트롤이나 영역의 크기를 적절하게 조절할 수 있습니다. original-width * presentation-height = original-height * presentation- 폭. 또는 적용 가능한 경우 단순히 - 종횡비를 유지하는 WinForms 컨트롤의 기능을 활용하십시오.

DirectShow를 API (비디오 렌더러)를 사용하면 현재 비디오가 바로 거기 가로 세로 비율을 유지하는 옵션이있다, 그러나 그것은 약간 사용하는 렌더러의 버전에 따라 다릅니다.

+0

비디오의 높이가 해상도 높이와 같거나 ... 정확히는 해상도 높이와 동일한 해상도 높이와 비디오의 가로 세로 비율입니다. – midnitekoder

+0

AVI 파일에서 - 설명자가 비율을 재정의 할 필드가 없으므로 예. 다른 컨테이너는보다 유연하고 픽셀 해상도를 가지며 종횡비를 분리 할 수 ​​있습니다. 이렇게하면 소위 "비 정사각형 픽셀"과 효과적인 가로 세로 비 조정을 정의 할 수 있습니다. –

+0

mpg 형식의 경우 "비 정사각형"픽셀입니까? .. mpg 비디오는 물론 avi도 사용해야합니다. 미리 감사드립니다 :) – midnitekoder