# How to manually implement the zoom effect using the OnVideoFrameBuffer event?

Video Capture SDK .Net , Video Edit SDK .Net , Media Player SDK .Net

# Sample code

Implement the OnVideoFrameBuffer event.

Sample code for Media Player SDK .Net Main Demo.

        private IntPtr tempBuffer = IntPtr.Zero;

        IntPtr tmpZoomFrameBuffer = IntPtr.Zero;

        private int tmpZoomFrameBufferSize = 0;

        private void MediaPlayer1_OnVideoFrameBuffer(object sender, VideoFrameBufferEventArgs e)
        {
            if (tempBuffer == IntPtr.Zero)
            {
                tempBuffer = Marshal.AllocCoTaskMem(e.Frame.DataSize);
            }

            const double zoom = 2.0;
            FastImageProcessing.EffectZoom(
                e.Frame.Data,
                e.Frame.Width,
                e.Frame.Height, 
                tempBuffer, 
                zoom, 
                zoom, 
                0, 
                0, 
                tmpZoomFrameBuffer,
                ref tmpZoomFrameBufferSize);
            
            if (tmpZoomFrameBufferSize > 0 && tmpZoomFrameBuffer == IntPtr.Zero)
            {
                tmpZoomFrameBuffer = Marshal.AllocCoTaskMem(tmpZoomFrameBufferSize);
                return;
            }

            FastImageProcessing.CopyMemory(tempBuffer, e.Frame.Data, e.Frame.DataSize);
        }

# Required redists

  • SDK redist

Visit our GitHub page to get more code samples.