设备宽度媒体查询 ¶ 手机拥有小屏幕,并且手机拥有触摸屏,所以小屏幕等于触摸屏,这正确吗?...IE 10 在触摸设备上提供(可以说是优越的)Pointer Events API,用来代替 Touch Events 标准,所以会在测试 ontouchstart时返回 false。...这是动态的, Jim ¶ 一个触摸屏可以作为一个外围设备连接到另一个非触摸式笔记本电脑,或者一个 KVM 开关可以从非触摸屏切换到触摸屏。这可以在浏览器会话过程中的任何时间发生。...手指友好的布局 ¶ 胖手指比鼠标更不准确,所以听起来我们适应触摸屏布局是有道理的:较大的控件,控件之间更多的空隙,等等。 但触摸屏是唯一的具有较差的指点精度的输入设备吗?...悬停状态的处理 ¶ 当前的触摸屏并不能传输鼠标/光标悬浮状态, 所以,最好调整我们对于触摸屏的UI设计,以便在触摸屏上能够继续使用。 当然,键盘也是不能悬停的。
什么是映射 从 p5.js 文档 中可以看到对映射的说明 说明:从一个范围内映射一个数字去另一个范围。 好家伙,使用映射来说明映射。...还是用图来表示比较好懂~ 绿线的长度是10,红线的长度是20。根据比例来计算,绿线上的点可以在红线上转换成对应的点。...我在 《# p5.js 光速入门》 里有讲到。 再举个例子 根据当前鼠标所在位置x轴设置画布背景色的色调,根据鼠标所在位置y轴设置画布背景色的饱和度。...p5.js 提供的环境变量。...这4个环境变量写在 draw() 方法里可以根据设置好的帧率去捕捉变量的变化。 map() 映射结合3D图形也能玩出很多花样,在之后讲解3D图形的文章里我会结合 map() 举例。
样式方面就靠各位工友动手啦~ jcode 在移动端阅读的工友可以看下图效果~ 动手编码 要实现这个画版工具主要有以下步骤: 创建 canvas 画布。 创建颜色选择器。 创建画笔宽度控制器。...主要工作就是以上几步,而且这几步都用了 p5.js 提供的方法去实现。 主要用到的生命周期有 setup 和 draw,这部分我在 p5.js 光速入门 里有讲到。...绘制过程的代码写在 draw 周期里,使用了 circle() 方法创建圆形,圆形的坐标就是鼠标绘画时的当前坐标,圆形的尺寸是取滑块的值,圆形的颜色取了颜色选择器的值。...= false } function resetCanvas() { background(255) } 上面的写法是用 CDN 的方式引入 p5.js,用法上和...npm 下载的 p5.js 是有一丢丢区别的,想了解这方面知识可以看看 《p5.js 使用npm安装p5.js后如何使用?》
因为官方文档主要讲解api的用法,第一次接触p5.js的工友可能不是那么容易将各个知识点串联起来。 本文在基于官方案例的基础上,把我觉得入门必学的知识点过一遍,然后串起来搞一个小特效。...什么是p5.js p5.js 简介 引用官网的话: p5.js 是个 JavaScript 创意编程程式库,其专注在让编程更易于使用及更加广泛的包容艺术家、设计师、教育家、初学者以及任何人!...setup() 是 p5.js 里一个很重要的方法,你可以简单的理解为 setup 是 p5.js 里的一个生命周期函数。在该函数里可以做很多初始化工作,比如创建画布并设置大小、画布背景色等。...这不是本文的重点。 HSB 和 HSL 在 用法 上差不多,但和 RGB 是有区别的。 使用 HSB 和 HSL 前,要设置颜色模式,告诉 p5.js 要使用哪种颜色模式去渲染。...鼠标点击 mouseIsPressed 本例使用 mouseIsPressed 判断用户是否点击了鼠标,点击鼠标时画布背景是蓝色,松开鼠标后画布背景是橙色 <script src="https://cdn.jsdelivr.net
,并为它在web上使用做好准备 介绍 如今,在我们的最后一部分中,我们将通过建立事件处理程序,而不是在点击button时机器人做出响应,我们的机器人将在屏幕上尾随着鼠标而移动。...因此,我们代码将使得事件处理程序在现代浏览器和IE8种可工作 作为一方面的说明。这是一种使用一个强大JavaScript库的原因,比方jQuery。...相似地,当用户在robot元素上移动鼠标。...} 我们有个叫做e的參数在函数中,虽然我们没有传递不论什么东西给它。可是这是一个事件侦听器,我们将自己主动拥有一个叫做e的变量,这个变量存储有和事件相关的信息,比方鼠标数据。...我们仍须要向前进一步,使得我们的机器人能够在不论什么设备上跑动。由于触摸屏表现得有些不同,我们须要在事件侦听器上做一些额外的编码。
这个例子应该适用于任何现代系统,不管它是Linux、Windows还是MacOS——这就是使用JavaScript在web上构建模型的强大功能。...它是TensorFlow在JavaScript中的扩展,JavaScript是我们在互联网上使用的几乎所有网站、浏览器或应用程序逻辑背后的编程语言。...你可以简单地从HTML中的URL加载它即可。 如果你想在本地工作怎么办呢?实际上,你可以在Jupyter Notebook中使用TensorFlow.js,就像你在Python或R中通常做的那样。...下面是一些使用TensorFlow.js在一些标准数据集上训练的深度学习模型的例子: ? 你可以在tfjs-examples repository中浏览这些示例。...我们将使用ml5.js库来使用PoseNet。ml5.js是一个基于TensorFlow.js和p5.js的库。p5.js是另一个库可以使你更容易在浏览器中访问网络摄像头。
常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换,Linux系统为了统一管控和处理这些设备,于是就实现了一套固定的与硬件无关的输入系统框架,供用户空间程序使用...例如想知道键盘是由哪个设备节点上报的,就可以通过以下这条指令来获取: cat /proc/bus/input/devices 这条指令的含义就是获取与event对应的相关设备信息,在ubuntu系统上...PROP:设备属性和怪癖。 EV:设备支持的事件类型。 KEY:此设备具有的键/按钮。 MSC:设备支持的其他事件。 LED:设备上的指示灯。...使用cat命令来测试键盘事件 当我们在终端输入 cat /dev/input/event1 这条指令并按回车键后可以看到一堆乱码数据,这些数据我们看不懂,但是我们可以知道如果按下了按键,终端有反馈消息...当鼠标左右移动的时候上报的事件: 这时候可以看到,只有相对于X的事件值在发生,这时候打印的value是X方向相对于原点坐标的偏移值。
使用QEMU的原因有3: * 降低学习成本 * 初学阶段,可以不买开发板,使用QEMU即可入门。...**注意**: * 使用QEMU不是必须的 * QEMU只是提供另一个角度的学习方法,比如: * LCD驱动:使用QEMU可以时,可以简化硬件的操作 * 中断子系统:可以跟踪调用过程 * 你可以只看QEMU...相关的视频,不使用QEMU来操作 * 在真实的开发板上讲解的内容,会覆盖QEMU视频的知识 ### 2....,就会清零上述3个寄存器(仅用于测试,不用也可) 操作原理: 鼠标在屏幕上按下、松开 QEMU改变GPIO电平、产生中断 在touch_pressure_register中记录压力值 鼠标在屏幕上滑动...编写驱动程序 request_irq 在中断处理函数里 上报按下、松开的事件 如果触摸屏被按下,启动定时器 如果触摸屏被松开,取消定时器 在定时器函数里 如果触摸屏还是被按下的状态
对于HTML元素来说,要响应用户的行为,可以在图形元素上添加一个或多个事件监听器,当监测到对应行为时,执行某些响应代码。...键鼠事件 在交互中最常见的行为当然要属鼠标触发的,经典的鼠标行为有单机、双击、选中拖动等。...随着各种移动设备的普及,触屏有着广泛的使用场景,无论是我们的手机还是触屏的显示器,触屏离我们很近。...常用的触屏事件有以下三种: •touchstart:当触摸点被放在触摸屏上时,也就是触摸到某个元素;•touchmove:当触摸点在触摸屏上移动时;•touchend:当触摸点从触摸屏上拿开时; 我们可以为触摸事件配置点击事件以及拖动事件...,如果觉得麻烦可以用其他工具,导出的需求挺普遍,当然有大佬造了轮子,d3-downloadable[1]是一个JavaScript库,用于下载绘制的svg图形,在html里引入后,在JavaScript
简单、专业、实用并且跨平台可以有效率地在PC和移动设备上,并且有大量的插件可以扩展,有着华丽却简单使用的API,很易学且阅读性高的源码。...p5.js-绘画插件 官网:p5.js Github:processing/p5.js p5.js是一个JavaScript函数库,有完整的绘画功能,并不局限在画布上,你可以把整个浏览器当做你的草稿,另外有插件可以让你更容易去做...Swiper 官网:Swiper Github:Swiper Swiper是当下王铮的幻灯片/跑马灯插件,使用效能高,并可运用在移动设备上及混合式App上,不但在最新版本的IOS上运行良好,在Android...、Windows Phone 8和PC设备上一样表现优秀。...JS整体层面比toastr好很多,无论原生JavaScript以及整体文件大小和功能延展性,但toastr简单使用的操作模式,如果有旧项目是在jQuery的环境下,要做一些定制化功能,或许就是不错的选择
---- 本文简介 点赞 + 关注 + 收藏 = 学会了 在 《p5.js 光速入门》 中都是使用 CDN 的方式去使用 p5.js 的,不太符合当下的开发习惯。...不管是使用 Vue 还是 React,我们日常项目大部分应该都是使用脚手架的方式进行开发了,按照 《p5.js 光速入门》 的方式在 module 模式下使用 p5.js ,如果不出意外的话肯定会有意外...创建画布 在创建画布前,需要先引入 p5.js。引入后可以尝试输出 p5.js 的版本。...p5.js 版本,在写本文时所用的是 v1.5.0 此时如果你打算像 《p5.js 光速入门》 那样直接使用 setup() 创建画布是不可能的了,因为在 module 模式下引入的 p5.js 的...在 module 模式下开发,可以使用 import p5 from 'p5' 的方式引入 p5.js。 使用 new p5(sketch) 的方式创建 p5 程序。
输入设备的种类 输入设备种类很多,有GPIO按键、鼠标、电阻触摸屏、电容触摸屏、USB键盘、遥控手柄等等。...安装它能产生的数据类型,可以分为(前面3项比较容易理解,后面的就属于扩展了): 按键:EV_KEY,比如键盘 相对位移:EV_REL,比如鼠标 绝对位移:EV_ABS,比如触摸屏 杂项:EV_MSC 软件...输入设备的驱动程序框架 有没有一个驱动程序,能支持那么多的设备?没有! 有没有一套驱动程序,容易扩展,最终能支持那么多的设备?有! 这就是输入子系统的驱动程序,框架如下: 3....讲什么内容 3.1 框架 3.2 evdev.c剖析 3.3 input_dev驱动编写 3.4 GPIO按键驱动分析与使用 分析内核自带的GPIO按键驱动:drivers\input\keyboard...\gpio_keys.c 使用 3.5 在QEMU上实现最简单的触摸屏驱动 3.6 I2C接口的触摸屏驱动分析与实践 3.5 在QEMU上实现最简单的触摸屏驱动 3.6 I2C接口的触摸屏驱动分析与实践
不管是什么操作系统,都有一个程序是用于管理各种输入设备的,打个比方,生活中使用的电脑键盘、鼠标就是输入设备,小到日常生活中无可避免的智能手机,智能手机上的触摸屏,按键也是输入社备。...子系统的一些设备文件,可能有鼠标,键盘,触摸屏,重力传感器,温度传感器等等的设备,写驱动的时候,通过内核提供的input设备注册设备相关的接口后,这些信息都会保存到对应的文件里去。...我们可以使用cat命令来测试当前的鼠标事件到底属于哪一个事件节点,如图4-5-10所示: ?...只需切换到/dev/input下,找到对应的事件节点,然后使用cat eventx(事件节点),然后移动鼠标就可以看到数据打印啦,但是这些数据我们显然是看不懂的,但我们可以使用一个测试程序将鼠标的值读出来...接下来我们再写一个案例,在Tiny4412平台上获取电容屏的坐标值。 触摸屏上报坐标值的事件属于绝对事件,也就是,触摸的坐标点X和Y会在屏幕的分辨率范围内上报一个绝对的坐标(X,Y)。
目前市面上主流的移动设备一般都使用触摸屏,触摸屏所使用的触摸事件模型与传统网页的鼠标事件模型有所区别,这种差异往往使初涉移动端的开发工程师陷入困境,事件穿透问题便是其中一个,本文将带你了解事件穿透及如何在实际项目中选择合适的方案解决事件穿透问题...产生的原因 当今,主流的移动设备一般都使用触摸屏,Web 应用程序可以使用触摸事件(Touch Events)直接处理基于触摸的输入,或者应用程序可以使用可解释的鼠标事件以处理应用程序的输入。...使用鼠标事件的缺点是它们不支持并发用户输入,而触摸事件支持多个同时输入(可能在触摸面上的不同位置),从而增强用户体验。 触摸事件有以下事件类型: touchstart:当触摸点放置在触摸面上时触发。...touchcancel:当触摸点以实现特定的方式中断(例如,创建的触摸点太多)时触发。 在很多情况下,触摸事件和鼠标事件会同时被触发(目的是让没有对触摸设备优化的代码仍然可以在触摸设备上正常工作)。...当然不用这么麻烦,你可以在使用 touch 事件时通过调用 preventDefault() 阻止触发 click 事件。
起初我以为牛兄是用 Processing Java 做的,我记得没有好用的手部识别库,而一个 OpenCV 识别脸部的还各种报错。是用 Kinect 做的吗?...在使用的时候,浏览器其实会下载一个识别模型,这个模型就是机器学习的产物,输入数据,就能按照学习的结果,输出结果。输出结果的准确度,取决于机器学习的算法以及训练程度。...这里我们不考虑npm install的情况,如果读者有这方面的诉求,可以查看 github 上的 readme 获得更详细的说明。 <!...4)玩转预测结果 我们在第三步拿到了预测结果predictionArr,便可以愉快的玩耍了。 那么这里面究竟存放了什么数据?...一些应用例子 其实手势的应用很广泛,放在 processing 中,我们常常可以这么做: 1)将原来鼠标移动的控制改为手部移动的控制 2)当手和其他物体重叠时,可以表示有意义的交互信号,如物体碰撞,选择物体等
,请删掉默认),鼠标右击,选择“添加设备”,如图所示: 选择ModbusManager,点击“添加设备”或双击, 双击串行线路1,组态通讯口,定义好通讯参数,如图 然后双击串行线路1下面的Modbus_Manager...SAS,-Modbus(RTU)-Modbus设备 点击确定,在新弹出的对话框中,COM端口选择COM2,波特率与PLC设置的相对应。...双击ModbusEquipment01, 在弹出的对话框种设置好与PLC对应的从设备地址,默认为1,点击确定 触摸屏通讯参数设置完毕。在变量中建立相应的变量即可。...需要保证电脑和设备的IP地址在一个网段。...在本系列触摸屏的外部变量中,变量对应的为 XBTG目标机器不支持%I、%Q、%K、%S。 经本人实测,若监控PLC端的%QX0.0,在触摸屏中的变量连接地址中选%Mi,如下图所示。
这模糊的印象事实上可以在循环神经网络(recurrentneural network)的语境中进行模拟。...在本节中,我们将为大家展示如何利用p5.js在Javascript中使用这个模型。下面是整个书写产生过程的p5.js框架。...结合pdf对象,我们可以在模型中使用sample 函数作为概率分布中下一组 (dx, dy, pen)值的样本。...其中,有几行代码是使用p5.js的Javascript写成的。 在不同温度下从概率分布中取样 变量pdf应当存储每个步骤完成后的下一笔画的概率分布。...Javascript框架的优点是交互式编程可以轻松完成,而且在web浏览器不用费大力气进行配置,如p5.js。
pageX:触摸目标在页面中的x坐标。 pageY:触摸目标在页面中的y坐标。 screenX:触摸目标在屏幕中的x坐标。 screenY:触摸目标在屏幕中的y坐标。... 1、如果在 PC 上访问,可以使用 Chrome 浏览器的移动响应式设备进行模拟,或者直接在移动设备(如手机)上访问 2、Chrome 浏览器,F12...3、上面是使用 JQuery 的写法,推荐使用如下所示的 JavaScript 方式,因为在获取回调函数的 事件对象时,JQuery 方式会有问题,JavaScript 则是没有问题的。 可以参考 HTML DOM addEventListener() 方法 触摸手指个数分析 1、如下所示,将屏幕上触摸的手指个数信息打印出来进行分析。...target).attr("class"));//JQuery 获取触摸对象的class属性值 } /** * 手指在触摸屏上移动时——函数调用
指针事件 目前有两种广泛使用的方式,用于指向屏幕上的东西:鼠标(包括类似鼠标的设备,如触摸板和轨迹球)和触摸屏。 它们产生不同类型的事件。 鼠标点击 点击鼠标按键会触发一系列事件。"...在mouseup事件后,包含鼠标按下与释放的特定节点会触发"click"事件。例如,如果我在一个段落上按下鼠标,移动到另一个段落上释放鼠标,"click"事件会发生在包含这两个段落的元素上。...触摸事件 我们使用的图形浏览器的风格,是考虑到鼠标界面的情况下而设计的,那个时候触摸屏非常罕见。 为了使网络在早期的触摸屏手机上“工作”,在某种程度上,这些设备的浏览器假装触摸事件是鼠标事件。...触摸屏与鼠标的工作方式不同:它没有多个按钮,当手指不在屏幕上时不能跟踪手指(来模拟"mousemove"),并且允许多个手指同时在屏幕上。...鼠标事件只涵盖了简单情况下的触摸交互 - 如果您为按钮添加"click"处理器,触摸用户仍然可以使用它。 但是像上一个示例中的可调整大小的栏在触摸屏上不起作用。 触摸交互触发了特定的事件类型。
在本文中,我们将学习在 p5.js 中通过使用线条、 矩形和椭圆来制作房屋的各个部分来制作房屋的简单动画。...( 像不像你小时候上画画课和微机课画的那个) 目录 1.什么是p5.js? 2.什么是动画? 3.绘制方案 4.代码实现 5.结尾 1.什么是p5.js?...p5.js 是一个 JavaScript 库,它以 Processing 的原始目标开始,使艺术家、设计师、教育工作者和初学者可以访问编码,并为当今的网络重新解释这一点。...使用软件速写本的原始比喻,p5.js 具有全套绘图功能。但是,您不仅限于绘图画布,您可以将整个浏览器页面视为您的草图!...为此,p5.js 具有插件库,可以轻松与其他 HTML5 对象交互,包括文本、输入、视频、网络
领取专属 10元无门槛券
手把手带您无忧上云