첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ RenderTargetBitmap 클래스 : 객체 구하기

----------------------------------------------------------------------------------------------------

using System.Windows;

using System.Windows.Media;

using System.Windows.Media.Imaging;

 

#region RenderTargetBitmap 객체 구하기 - GetRenderTargetBitmap(mediaPlayer, dpiX, dpiY, pixelFormat)

 

/// <summary>

/// RenderTargetBitmap 객체 구하기

/// </summary>

/// <param name="mediaPlayer">MediaPlayer 객체</param>

/// <param name="dpiX">DPI X</param>

/// <param name="dpiY">DPI Y</param>

/// <param name="pixelFormat">PixelFormat 객체</param>

/// <returns>RenderTargetBitmap 객체</returns>

public RenderTargetBitmap GetRenderTargetBitmap(MediaPlayer mediaPlayer, double dpiX, double dpiY,

    PixelFormat pixelFormat)

{

    DrawingVisual drawingVisual = new DrawingVisual();

 

    RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap

    (

        mediaPlayer.NaturalVideoWidth,

        mediaPlayer.NaturalVideoHeight,

        dpiX,

        dpiY,

        pixelFormat

    );

 

    DrawingContext drawingContext = drawingVisual.RenderOpen();  


   

    // "장치 독립적 단위 수 구하기" 참조

    double width  = CalculateDeviceIndependentUnitCount(mediaPlayer.NaturalVideoWidth , dpiX);

    double height = CalculateDeviceIndependentUnitCount(mediaPlayer.NaturalVideoHeight, dpiY);

 

    drawingContext.DrawVideo(mediaPlayer, new Rect(0, 0, width, height));

 

    drawingContext.Close();

 

    renderTargetBitmap.Render(drawingVisual);

 

    return renderTargetBitmap;

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요