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

做网站的技术路线企业内部网站建设教程

做网站的技术路线,企业内部网站建设教程,怎么编写一个网站,天猫网站做的比京东好一、知识点 1、void setMouseCallback(const String & winname, MouseCallback onMouse, void * userdata 0); (1)、为指定窗口设置鼠标事件回调函数。 (2)、参数说明: winname: 窗口名称。 onMouse: 自定义的鼠标事件回调函数,函数类型见2。 …


一、知识点
1、void setMouseCallback(const String & winname, MouseCallback onMouse, void * userdata = 0);
  (1)、为指定窗口设置鼠标事件回调函数。
  (2)、参数说明:
      winname: 窗口名称。
      onMouse: 自定义的鼠标事件回调函数,函数类型见2。
      userdata: 传递给鼠标事件回调函数的可选参数。
  (3)、一旦鼠标事件发生,就会自动调用绑定的onMouse函数。
      
2、typedef void (*MouseCallback)(int event, int x, int y, int flags, void * userdata);
  (1)、鼠标事件回调函数的类型。
  (2)、参数说明:
      event: MouseEventTypes宏值。
             enum MouseEventTypes {
                   EVENT_MOUSEMOVE      = 0, //!< indicates that the mouse pointer has moved over the window.
                   EVENT_LBUTTONDOWN    = 1, //!< indicates that the left mouse button is pressed.
                   EVENT_RBUTTONDOWN    = 2, //!< indicates that the right mouse button is pressed.
                   EVENT_MBUTTONDOWN    = 3, //!< indicates that the middle mouse button is pressed.
                   EVENT_LBUTTONUP      = 4, //!< indicates that left mouse button is released.
                   EVENT_RBUTTONUP      = 5, //!< indicates that right mouse button is released.
                   EVENT_MBUTTONUP      = 6, //!< indicates that middle mouse button is released.
                   EVENT_LBUTTONDBLCLK  = 7, //!< indicates that left mouse button is double clicked.
                   EVENT_RBUTTONDBLCLK  = 8, //!< indicates that right mouse button is double clicked.
                   EVENT_MBUTTONDBLCLK  = 9, //!< indicates that middle mouse button is double clicked.
                   EVENT_MOUSEWHEEL     = 10,//!< positive and negative values mean forward and backward scrolling, respectively.
                   EVENT_MOUSEHWHEEL    = 11 //!< positive and negative values mean right and left scrolling, respectively.
             };
      x: 鼠标事件的x坐标。
      y: 鼠标事件的y坐标。
      flags: MouseEventFlags宏值。
             enum MouseEventFlags {
                   EVENT_FLAG_LBUTTON   = 1, //!< indicates that the left mouse button is down.
                   EVENT_FLAG_RBUTTON   = 2, //!< indicates that the right mouse button is down.
                   EVENT_FLAG_MBUTTON   = 4, //!< indicates that the middle mouse button is down.
                   EVENT_FLAG_CTRLKEY   = 8, //!< indicates that CTRL Key is pressed.
                   EVENT_FLAG_SHIFTKEY  = 16,//!< indicates that SHIFT Key is pressed.
                   EVENT_FLAG_ALTKEY    = 32 //!< indicates that ALT Key is pressed.
             };
      userdata: setMouseCallback()传递的可选参数。
      
3、Mat Mat::operator()( const Rect & roi ) const
  (1)、从图像中提取感兴趣区域(ROI)。
  (2)、提取的方式不是复制,而是通过创建指向原图数据的新矩阵指针,对新矩阵的操作会直接影响原图像。
      
      
      
二、示例代码

#include <iostream>
#include <opencv2/opencv.hpp>cv::Point sp(-1, -1);
cv::Point ep(-1, -1);
cv::Mat tempSrc;//鼠标事件处理函数
void onMouseDraw(int event, int x, int y, int flags, void * userdata)
{cv::Mat image = *((cv::Mat*)(userdata));if (event == cv::EVENT_LBUTTONDOWN){sp.x = x;sp.y = y;}else if (event == cv::EVENT_MOUSEMOVE){if (sp.x > 0 && sp.y > 0){ep.x = x;ep.y = y;int dx = ep.x - sp.x;int dy = ep.y - sp.y;if (dx > 0 && dy > 0){//清空图像tempSrc.copyTo(image);cv::Rect box(sp.x, sp.y, dx, dy);cv::rectangle(image, box, cv::Scalar(0, 0, 255), 2, 8, 0);cv::imshow("鼠标绘制ROI", image);cv::imshow("ROI区域", image(box));}}}else if (event == cv::EVENT_LBUTTONUP){//标志着鼠标左键已松开,不会影响鼠标移动sp.x = -1;sp.y = -1;}
}int main()
{//本地读取原图cv::Mat src = cv::imread("../images/9.png");if (src.empty()){std::cout << "load src image error..." << std::endl;return -1;}//全局备份一张原图,达到清空ROI目的tempSrc = src.clone();//创建一个窗口, 名为"鼠标绘制ROI"cv::namedWindow("鼠标绘制ROI", cv::WINDOW_AUTOSIZE);//设置鼠标事件回调函数cv::setMouseCallback("鼠标绘制ROI", onMouseDraw, &src);cv::imshow("鼠标绘制ROI", src);cv::waitKey(0);return 0;
}

  演示结果:

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

相关文章:

  • 怎样找到专业做网站人公司怎么做网站平台
  • 中国怎么样做跨境网站网络营销有哪些特点
  • 常州做网站的企业无锡seo网站推广
  • 网站小程序定制公司oa管理系统软件
  • 怎么建立网站推广计算机应用技术网站开发基础知识
  • 京东商城网站建设目标营销战略咨询公司
  • 容县网站建设网站推广的一般方式
  • 网站建设和备案响应式mvc企业网站源码
  • 深圳极速网站建设推荐广州网站推广方案
  • 福州营销网站建设技术湘潭学校网站建设 精诚磐石网络
  • 平顶山市建设局网站如何做网站解析
  • 播放器网站怎么做过界女主个人做网站的
  • wordpress 自助建站系统 网站开发工程师
  • 中山网站建设工具猫域名备案需要哪些材料
  • 个人网站模板怎么做免费制作网站用什么做
  • 宁波市网站制作wordpress如何放入域名
  • 贵州建设厅考试网站安全员为什么有的网页打不开怎么解决
  • 上海网站建设中心最新域名查询网
  • 个人信用信息服务平台专业seo优化外包
  • 北海网站设计如何创建微信小程序商店
  • 建平县网站建设直播app开发公司排名
  • 南宁网站推广工具ui设计师可以做到多少岁
  • 手机网站下拉刷新四川住房和城乡建设厅网站题库
  • 网站建设开标书给单位做网站需要多少钱
  • 上海企炬做的网站企业网站导航优化
  • 让网站对搜索引擎友好免费制作图片带字 手机软件
  • 厂字形网页布局网站wordpress 情侣
  • 本地建站discuz纯手工建网站
  • 广东品牌网站建设网站建设销售专业术语
  • 企业网站管理的含义网架加工厂有招工的吗