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

织梦的网站地图更新曹鹏wordpress

织梦的网站地图更新,曹鹏wordpress,北京网站建设明细,娱乐网站名字前言 本播放器在VS2019下开发#xff0c;使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式#xff0c;电子放大功能是在D3D Texture方式下进行实现。以下…前言 本播放器在VS2019下开发使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。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.hkea.cn/news/14438721/

相关文章:

  • 龙华网站 建设龙华信科windows搭建网站
  • 黄埔区做网站建设公司网站需要什么资料
  • 郑州好的网站建设公司哪家好平台网站建设开票开什么内容
  • 外包做网站哪家好dw做网站环境配置
  • 搭建公众号平台需要多少钱网站网络优化服务器
  • 网站绑定微信公众号wordpress图片在哪
  • 趣闻网站如何做南昌百度seo
  • 网站规划建设与管理维护教学大纲wordpress文章页添加小工具
  • 基于MVC网站建设课程设计报告石景山青岛网站建设
  • 交易类网站建设功能表西部数码个人网站
  • 申请免费网站做网站的语言叫什么
  • wordpress网站页面打开很慢上海装修公司前十强排名榜
  • 郑州市哪里有网站建设起飞页自助建站平台的特点
  • 濮阳专业做网站公司crm客户关系系统
  • 潍坊做网站的深圳专业网站建设
  • 泰安集团网站建设地点专门做机器人的网站
  • 描述网站开发的过程临沂建设企业网站
  • 网站开发的晋升晋升空间路径网易企业邮箱怎么设置
  • 网站搭建要多少钱大朗镇网站建设
  • 电子商务网站建设实验心得淄博建设企业网站
  • 朋友用我的vps做网站中国制造网官方网站首页
  • 郑州建站网网络营销的主要特点
  • 园区网站建设服务公司寿光哪里做网站
  • 基于淘宝的网站开发分析南京建设监理协会网站
  • 做网站的公司如何运营360网站免费推广怎么做
  • 用php做网站用到的工具优秀网络小说推荐
  • 徐州seo网站推广工作室官网源码
  • 浮山网站建设wordpress+搭建知识库
  • 太原网站建设公司排名知名商城网站建设报价
  • 鸿顺里网站建设广西网站建设价钱