■ MediaPlayer 클래스를 사용해 비디오 크기를 구하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
using System; using System.Windows; using System.Windows.Media.Imaging; #region 비디오 크기 구하기 - GetVideoSize(mediaPlayer, sourceSize, maximumSize) /// <summary> /// 비디오 크기 계산하기 /// </summary> /// <param name="mediaPlayer">MediaPlayer 객체</param> /// <param name="sourceSize">소스 크기</param> /// <param name="maximumSize">최대 크기</param> /// <returns>비디오 크기</returns> /// <remarks>비디오 크기는 Double형 Size 타입이나 픽셀 값이다</remarks> public Size GetVideoSize(MediaPlayer mediaPlayer, Size maximumSize) { Size videoSize = new Size(); if(mediaPlayer.NaturalVideoWidth > mediaPlayer.NaturalVideoHeight) { double videoRatio = (double)mediaPlayer.NaturalVideoHeight / mediaPlayer.NaturalVideoWidth; videoSize.Width = Math.Min(maximumSize.Width, mediaPlayer.NaturalVideoWidth); videoSize.Height = videoSize.Width * videoRatio; } else { double videoRatio = (double)mediaPlayer.NaturalVideoWidth / mediaPlayer.NaturalVideoHeight; videoSize.Height = Math.Min(maximumSize.Height, mediaPlayer.NaturalVideoHeight); videoSize.Width = videoSize.Height * videoRatio; } return videoSize; } #endregion #region 비디오 크기 구하기 - GetVideoSize(mediaPlayer, sourceSize, maximumWidth, maximumHeight) /// <summary> /// 비디오 크기 구하기 /// </summary> /// <param name="mediaPlayer">MediaPlayer 객체</param> /// <param name="sourceSize">소스 크기</param> /// <param name="maximumWidth">최대 너비</param> /// <param name="maximumHeight">최대 높이</param> /// <returns>비디오 크기</returns> /// <remarks>비디오 크기는 Double형 Size 타입이나 픽셀 값이다</remarks> public Size GetVideoSize(MediaPlayer mediaPlayer, double maximumWidth, double maximumHeight) { return GetVideoSize(mediaPlayer, new Size(maximumWidth, maximumHeight)); } #endregion |