-
基于Canvas+Vue的弹幕组件的实现
所属栏目:[编程] 日期:2020-05-11 热度:144
副标题#e# 最近由于项目需要定制化一个弹幕功能,所以尝试使用canvas来开发组件。经过测试在一些低端机的效果也没有明显的卡顿,和大家交流一下 弹幕效果 功能介绍 支持循环弹幕 弹幕不重叠 支持选择轨道数 支持弹幕发送 使用 npm i vue-barrage 参数配置 n[详细]
-
浅谈cookie和localStorage那些事
所属栏目:[编程] 日期:2020-05-11 热度:89
一、localStorage、cookie、sessionStorage的区别与练习 1、cookie 小甜饼。它的大小限制为4KB左右,是网景公司的前雇员 Lou Montulli 在1993年3月的发明。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到记住密码,这通常就是通过在Cookie中[详细]
-
HTML5实时语音通话聊天MP3压缩传输3KB每秒
所属栏目:[编程] 日期:2020-05-11 热度:60
自从Recorder H5 GitHub开源库优化后,对边录边转码成小语音片段文件实时上传服务器这种操作支持非常良好,因此以前不太好支持的H5语音通话已经有了更好的突破空间。因此花了两晚时间打造了一个H5语音通话聊天的demo。 欢迎在线把玩: https://xiangyuecn.[详细]
-
详解通过变换矩阵实现canvas的缩放功能
所属栏目:[编程] 日期:2020-05-11 热度:185
这篇文章主要介绍一种通过设置canvas的变换矩阵来实现canvas的缩放。 第一步就是监听鼠标的滚轮事件,在滚轮事件中根据鼠标的滚动以及基于前一次的变换,重新设置context的缩放和平移,核心代码如下: let delta = this.deltaInst; delta.bind('zoom', (da[详细]
-
旅行摄影小技巧:远近动静都不怕
所属栏目:[编程] 日期:2020-05-11 热度:65
1.风景和动植物生活环境摄影(1米到无限远) (1)从广角远摄的系列镜头。较好的组合方式是一个24毫米(或28毫米、或35毫米)的广角镜头,一个50毫米的标准镜头和一个80-200毫米的变焦镜头或者在这个范围内各种组合方式的镜头。一个较长的镜头,例如300毫米的,[详细]
-
如何通过PHP实现Des加密算法代码实例
所属栏目:[编程] 日期:2020-05-11 热度:122
副标题#e# 如何通过PHP实现Des加密算法代码实例 注:php7以上不支持了,因为php7去掉了某些函数, 另外变量的{}要改为[] phpclass Des{ /** * 加密方法 * * @param string $str 需要加密的内容 * @param string $key 密钥 * @param bool $toBase64 是否base[详细]
-
禁止直接访问php文件代码分享
所属栏目:[编程] 日期:2020-05-11 热度:145
如何禁止别人直接访问php文件 可以通过判断某一个常量是否被定义或定义的值是否相同,如果未被定义或值不相同则停止脚本运行。 defined('IS_ALLOW') or die('禁止访问!'); 访问结果:禁止访问! 如果需要在其它php文件中进行引用,可以先将常量定义后在进[详细]
-
PHP数组与字符串互相转换实例
所属栏目:[编程] 日期:2020-05-11 热度:58
PHP 数组转字符串,与字符串转数组 php$array = array('lastname', 'email', 'phone');$comma_separated = implode(",", $array);echo $comma_separated; // lastname,email,phone// Empty string when using an empty array:var_dump(implode('hello', ar[详细]
-
php变量与字符串的增删改查操作示例
所属栏目:[编程] 日期:2020-05-11 热度:126
php//告诉浏览器以什么编码方式解析什么类型的文档,防止中文乱码header("Content-type: text/html; charset=utf-8");// 整型的例子// 声明整型$var=123;// 输出一个或者多个字符串echo $var;//但因变量的详细信息,可以一次打印一个或者多个变量的详细信[详细]
-
php将字符串转换为数组实例讲解
所属栏目:[编程] 日期:2020-05-11 热度:165
php将字符串转换为数组 在php中通过使用“explode函数”,将字符串转换为数组,该函数的用法为“explode(delimiter,string)”,其参数delimiter表示为边界上的分隔字符,参数string表示为输入的字符串。 explode说明 explode ( string $delimiter , string[详细]
-
php输出形式实例整理
所属栏目:[编程] 日期:2020-05-11 热度:57
在php中有5种输出形式,分别是echo、print_r、print、var_dump和die。 echo 只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据。 print() 只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据有返回值true/false。 print_[详细]
-
PHP设计模式(九)外观模式Facade实例详解【结构型】
所属栏目:[编程] 日期:2020-05-11 热度:70
副标题#e# 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。 例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电[详细]
-
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
所属栏目:[编程] 日期:2020-05-11 热度:115
副标题#e# 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代[详细]
-
PHP设计模式(七)组合模式Composite实例详解【结构型】
所属栏目:[编程] 日期:2020-05-11 热度:139
副标题#e# 在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面。 例子1:就是多级树形菜单。 例子2:文件和文件夹目录 2.问题 我们可以使用简单的对象组合成复杂的对象,而这个复杂对象有可以组合成更大的对象。我们可以把简单这些对象[详细]
-
通过PHP实现获取访问用户IP
所属栏目:[编程] 日期:2020-05-11 热度:75
在php中自带了一个非常的简单的获取IP地址的全局变量,很多初学都获取IP都使用它了,但是对于这些我们一般用法是满足了,但是对于要求高精度这个函数还是不行的。 这个是最简单的方法,对于开了透明代理之类的是没有办法的,如果内网访问也不能读取正确的[详细]
-
asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET
所属栏目:[编程] 日期:2020-05-11 热度:119
编译器错误信息: CS0006: 未能找到元数据文件“C:WINDOWSassemblyGAC_32System.EnterpriseServices2.0.0.0__b03f5f7f11d50a3aSystem.EnterpriseServices.dll” 提示这样的报错 郁闷 下面给出解决的方案 gacutil.exe for dotnet 2.0. 复制代码[详细]
-
C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页
所属栏目:[编程] 日期:2020-05-11 热度:113
已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1、插入节点 往节点中插入一个节点: 复制代码 代码如下: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找[详细]
-
ASP.Net PlaceHolder、Panel等控件未实现INamingContainer,导致FindContro
所属栏目:[编程] 日期:2020-05-11 热度:149
Panel spnButtons = new Panel(); Button btn = new Button(); btn.ID = "btn1"; spnButtons.Controls.Add(btn); // 输出True,表示没有找到控件 Response.Write(spnButtons.FindControl(btn.ID) == null); 而如果是下面的代码就可以了: 复制代码 代码如[详细]
-
c# 操作符?? null coalescing operator
所属栏目:[编程] 日期:2020-05-11 热度:119
我们可以看下下面的这几个示例来看看这个操作符的使用方法: 复制代码 代码如下: string message = "Hello World"; string result = message ?? "null"; //这里的result的内容是 Hello World 再看下面的这个例子子: 复制代码 代码如下: string message = n[详细]
-
ASP.NET通过更改Url进行页面传值的实现代码
所属栏目:[编程] 日期:2020-05-11 热度:121
这里,通过假数据,手动创建的一个类,然后创建的一个集合,放入下拉框,选好值以后,点确定 会在另一个页面产生对应的id 创建一个类: using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace WebApplication1{ pu[详细]
-
使用VSCode开发和调试.NET Core程序的方法
所属栏目:[编程] 日期:2020-05-11 热度:157
副标题#e# 电脑不想装几十个G的 VS2017,那就用 VS Code 吧 目标: 创建一个类库项目 Skany.Core,并用 Nuget 引用第三方组件 Hash 实现加密算法 创建一个单元测试项目 Skany.Tests,引用类库 Skany.Core,并测试其中的方法 创建一个控制台应用程序项目 Ska[详细]
-
ASP.NET Core MVC获取请求的参数方法示例
所属栏目:[编程] 日期:2020-05-11 热度:172
副标题#e# 一次HTTP请求,就是一次标准IO操作。请求是I,是输入;响应式O,是输出。任何web开发框架,其实都是在干这两件事: 接受请求并进行解析获取参数 根据参数进行渲染并输出响应内容 所以我们学习一个框架,我认为最首要的是知道如何从请求中获取参数[详细]
-
ASP.NET中AJAX的异步加载(Demo演示)
所属栏目:[编程] 日期:2020-05-11 热度:104
此次的Demo是一个页面,页面上有两行字,然后后面用AJAX,使用一个下拉框去替换第一行文字[/code] 第一个是被替换的网页 !DOCTYPE htmlhtmlhead meta charset="utf-8" / title/title script type="text/javascript"var xmlHttpRequest;function createXmlH[详细]
-
HTML网页超链接标记
所属栏目:[编程] 日期:2020-05-11 热度:74
HTML网页超链接标记学习教程 链接标记的属性 链接是网页页面中最重要的元素之一,是一个网站的灵魂。一个网站是由多个页面组成的,页面之间依靠链接确定相互的导航关系。每一个网页都有独一无二的地址,在英文中被称作url(Uniform Resource Locator:通用[详细]
-
HTML表单标记教程(4):
所属栏目:[编程] 日期:2020-05-11 热度:173
假设现在要在表单中添加这样一项内容:浏览所在的城市。这里不说全国的城市,只说省会以上的城市就有几十个。如果以上面讲过的单选按钮的形式,将这些城市全部罗列在网页上,将是一件不堪设想的事情。于是在表单的对象中出现了菜单和列表。说到底,菜单和[详细]