南京软件定制开发

南京倾心软件欢迎您访问本站

13605185909

新闻资讯

NEWS CENTER
栏目导航

南京软件开发之快速搞定摄像头图像旋转

发布时间:Mar 08, 2022         已有 人浏览
经常会遇到的一个问题,摄像头显示出来的图像是镜像,与我们真实情况正好相反,
那么下面的代码可以帮你快速实现旋转。

// 指定图像的旋转程度和用于翻转图像的轴。
public void videoSourcePlayer_NewFrame(object sender, ref Bitmap image)
        {
            if (image != null)
            {
                RotateFlipType pType = RotateFlipType.RotateNoneFlipNone;
                if (dAngle == 0)
                {
                    pType = RotateFlipType.RotateNoneFlipNone;
                }
                else if (dAngle == 90)
                {
                    pType = RotateFlipType.Rotate90FlipNone;
                }
                else if (dAngle == 180)
                {
                    pType = RotateFlipType.Rotate180FlipNone;
                }
                else if (dAngle == 270)
                {
                    pType = RotateFlipType.Rotate270FlipNone;
                }
 
 
                // 实时按角度绘制
                image.RotateFlip(pType);
            }
        }
 
        /// <summary>
        /// 旋转函数,外部调用触发
        /// </summary>
        public void Rotate()
        {
            // 计算角度,类变量
            dAngle = dAngle + 90;
            dAngle = dAngle % 360;
            
            // 事件绑定,实时绘制,达到效果,本来就是实时绘制的原理
            videoSourcePlayer.NewFrame -= new VideoSourcePlayer.NewFrameHandler(videoSourcePlayer_NewFrame);
            videoSourcePlayer.NewFrame += new VideoSourcePlayer.NewFrameHandler(videoSourcePlayer_NewFrame);
        }

 
是不是非常方便且快速呢,欢迎来交流讨论。
Copyright © 2020-2022 南京倾心软件技术有限公司 版权所有     苏ICP备2020070309号-1
QQ在线咨询
13605185909
返回顶部