当前位置: 首页 > news >正文

我要外包网站wordpress 登录不了

我要外包网站,wordpress 登录不了,百度写作助手,做旅游门票网站需要什么材料前言 本播放器在VS2019下开发,使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式,电子放大功能是在D3D Texture方式下进行实现。以下…

前言

    本播放器在VS2019下开发,使用ffmpeg+D3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式,电子放大功能是在D3D Texture方式下进行实现。以下为该功能的一些核心代码,具体可以通过本文末的链接进行工程源码下载。

一、播放器电子放大功能操作

    步骤一:播放RTSP 视频流后,点击开启电子放大功能按钮,如下图:

在这里插入图片描述

    步骤二:点击按钮后,视频上会出现电子放大的变倍信息,本功能支持鼠标滚轮进行图形放大与缩小,也支持鼠标拖动视频进行显示,如下图:

在这里插入图片描述

    步骤三:鼠标滚轮操作电子放大的放大缩小功能,如下图:

在这里插入图片描述

    步骤四:按住鼠标左键后,可以拖动视频进行显示,如下图:

在这里插入图片描述

    步骤五:点击关闭电子放大按钮后,恢复正常显示:

在这里插入图片描述

二、电子放大相关源码

CVideoPlayer鼠标事件:

void CVideoPlayer::OnLButtonDown(UINT nFlags, CPoint point)
{myprint("OnLButtonDown");SetFocus();if (m_bDigitalZoom) // Digital Zoom{m_D3DRender.SetStartPt(point);m_bLBtnDown = true;}CStatic::OnLButtonDown(nFlags, point);
}void CVideoPlayer::OnLButtonUp(UINT nFlags, CPoint point)
{m_bLBtnDown = false;ReleaseCapture();
}BOOL CVideoPlayer::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{    myprint("OnMouseWheel");CRect rcClient;GetClientRect(&rcClient);CPoint ptTemp = pt;::ScreenToClient(m_hWnd, &ptTemp);if (!PtInRect(&rcClient, ptTemp))return FALSE;m_ptWheel = pt;::ScreenToClient(m_hWnd, &m_ptWheel);if (m_bDigitalZoom){zDelta /= WHEEL_DELTA;myprint("OnMouseWheel zDelta:%d", zDelta);if (zDelta > 0){for (short i = 0; i < zDelta; i++)m_D3DRender.ZoomOut();}else{for (short i = 0; i > zDelta; i--)m_D3DRender.ZoomIn();}return TRUE;}return FALSE;
}void CVideoPlayer::OnMouseMove(UINT nFlags, CPoint point)
{if (m_bPlaying == false)return;SetFocus();if (m_bLBtnDown && m_bDigitalZoom){CRect rc;GetClientRect(&rc);m_D3DRender.MoveToPtStart(point, rc);}CStatic::OnMouseMove(nFlags, point);
}

CD3DRender处理:

//zoom
void CD3DRender::ZoomIn()
{m_Radius += m_RadiusFirst / DEFAULT_ZOOM_TIMES;myprint("ZoomIn m_RadiusFirst:%lf m_Radius:%lf\n", m_RadiusFirst, m_Radius);if (m_Radius >= DEFAULT_ZOOM_TIMES){m_Radius = DEFAULT_ZOOM_TIMES;}D3DXVECTOR3 position(-x_curCam, y_curCam, sinf(m_Angle) * m_Radius);D3DXVECTOR3 target(-x_curCam, y_curCam, 0.0f);D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);D3DXMATRIX V;D3DXMatrixLookAtLH(&V, &position, &target, &up);m_pDirect3DDevice->SetTransform(D3DTS_VIEW, &V);
}void CD3DRender::ZoomOut()
{m_Radius -= m_RadiusFirst / DEFAULT_ZOOM_TIMES;myprint("ZoomOut m_RadiusFirst:%lf m_Radius:%lf\n", m_RadiusFirst, m_Radius);if (m_Radius <= 1.1f){m_Radius = 1.1f;}D3DXVECTOR3 position(-x_curCam, y_curCam, sinf(m_Angle) * m_Radius);D3DXVECTOR3 target(-x_curCam, y_curCam, 0.0f);D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);D3DXMATRIX V;D3DXMatrixLookAtLH(&V, &position, &target, &up);m_pDirect3DDevice->SetTransform(D3DTS_VIEW, &V);
}void CD3DRender::ResetZoom()
{x_Cam = x_curCam = 0;y_Cam = y_curCam = 0;m_Radius = m_RadiusFirst;m_Angle = m_AngleFirst;D3DXVECTOR3 position(cosf(m_Angle) * m_Radius, 0.0f, sinf(m_Angle) * m_Radius);D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);D3DXMATRIX V;D3DXMatrixLookAtLH(&V, &position, &target, &up);m_pDirect3DDevice->SetTransform(D3DTS_VIEW, &V);
}HRESULT CD3DRender::AppendZoomTextInfo(TCHAR* sText, CRect rcText) 
{my_mutex_lock(m_pDrawMutex);memset(&m_DigZoomInfo, 0, sizeof(StreamInfo_t));_sntprintf_s(m_DigZoomInfo.sText, sizeof(m_DigZoomInfo.sText), sizeof(m_DigZoomInfo.sText) - 1, "%s", sText);m_DigZoomInfo.rcText.top = rcText.top;m_DigZoomInfo.rcText.left = rcText.left;m_DigZoomInfo.rcText.right = rcText.right;m_DigZoomInfo.rcText.bottom = rcText.bottom;my_mutex_unlock(m_pDrawMutex);return 0;
}HRESULT CD3DRender::ClearZoomTextInfo()
{my_mutex_lock(m_pDrawMutex);memset(&m_DigZoomInfo, 0, sizeof(StreamInfo_t));my_mutex_unlock(m_pDrawMutex);return 0;
}void CD3DRender::D3DDrawZoomText()
{my_mutex_lock(m_pDrawMutex);m_pD3DFont->DrawText(NULL, m_DigZoomInfo.sText, -1, &m_DigZoomInfo.rcText, DT_LEFT/*DT_CENTER | DT_VCENTER*/, D3DCOLOR_XRGB(220, 20, 60));my_mutex_unlock(m_pDrawMutex);
}void CD3DRender::SetStartPt(::CPoint pt)
{pt_start = pt;x_Cam = x_curCam;y_Cam = y_curCam;
}void CD3DRender::MoveToPtStart(::CPoint pt, CRect rc)
{float x = x_Cam + 40.0f * ((float)m_Radius / 20.0f) * (float)(pt.x - pt_start.x) / (float)(rc.right - rc.left);float y = y_Cam + 40.0f * ((float)m_Radius / 20.0f) * (float)(pt.y - pt_start.y) / (float)(rc.bottom - rc.top);x_curCam = x;y_curCam = y;myprint("position( %f, %f, %f)  x_Cam = %f, y_Cam = %f\n", x, y, sinf(m_Angle) * m_Radius, x_Cam, y_Cam);myprint("rc(%d, %d, %d, %d)", rc.left, rc.top, rc.right, rc.bottom);D3DXVECTOR3 position(-x, y, sinf(m_Angle) * m_Radius);D3DXVECTOR3 target(-x, y, 0.0f);D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);D3DXMATRIX V;D3DXMatrixLookAtLH(&V, &position, &target, &up);m_pDirect3DDevice->SetTransform(D3DTS_VIEW, &V);
}

三、相关下载

链接1: 可执行exe下载
链接2: 播放器工程源码下载

http://www.yayakq.cn/news/451569/

相关文章:

  • 物流网站建设方案权限管理地方门户网站搭建系统
  • 手机搭建电脑做的网站网站标题符号
  • 太原网站建设软件技术特点
  • 汕头网站设计哪里好合益环保东莞网站建设
  • 温州联科网站建设模特公司网站模板
  • 呼和浩特做网站公司没有备案的网站百度能收录吗
  • 怎么样做购物网站中国建筑公司网站大全
  • 秘鲁网站后缀做网站后端需要掌握什么技术
  • 免费创建个人博客网站快速网站开发介绍
  • 天古装饰公司官网保定seo公司
  • 网站怎样防止攻击做app的流程
  • 怎么做网站卖机床网站建设收费情况
  • c 视频播放网站开发针织外贸公司
  • 贷款网站怎么做的国外网站做推广
  • 定制型网站建设服务百度云盘官网
  • 长春建站培训wordpress网站seo
  • 哪个网站设计素材多河北石家庄旅游网页设计
  • 网站开发用什么配置电脑有专门做背景音乐的网站吗
  • 网站漏洞以及找后台入口 等功能.扁平化的网站有哪些
  • 西安高校定制网站建设公司推荐展厅设计培训
  • 微网站设计基本要求升级访问通知正常更新
  • 外贸企业网站改版设计工作室图片 实拍
  • 做企业网站的轻量级cms网站设计工程师培训
  • 长沙建一个网站多少钱如何选技能网站建设
  • 长春求推荐好的网站优化推广公益网站建设 参考文献
  • 中国建设工程造价管理协会网站简称地址生成器
  • 个人网站建设公佛山网络建设
  • 能在线做国二计算机题目的网站西安高风险区全部降为低风险
  • 个人博客网站logo禅城网站建设费用
  • 网站结构分析英文seo招聘