Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

用HTML5 Canvas 做擦除及扩散效果

用HTML5 Canvas 做擦除及扩散效果

2013年的时候曾经使用canvas实现了一个擦除效果的需求,即模拟用户在模糊的玻璃上擦除水雾看到清晰景色的交互效果。好在2012年的时候学习HTML5的时候研究过canvas了,所以在比较短的时间内实现了一个方案【下文方案一】,后来继续探索之后进一步更新了这个方案【下文方案二】,提高了交互的性能,也提升了用户体验。今年初的另一个项目,提出了一个比较类似的需求,不过不是擦除效果,需要在一张地图上动态显示雾霾驱散的效果,这个交互需求有个小难点,雾霾的边缘是模...
Linux下获得线程ID syscall(224)

Linux下获得线程ID syscall(224)

对于Linux线程,也许大家并不陌生,而我们通常所说的线程是指基于POSIX标准的线程,而Linux下除了兼容POSIX标准,而且提供线程在内核级的支持。早在Linux kernel2.4之前,Linux的线程(LinuxThread)属于用户级,内核根本不知道线程的存在,为了得到内核的支持,2003 年,RedHat公司(很了不起的一个公司)发布了NPTL(Native POSIX Thread Library),至今广泛使用。NPTL很优秀,对信号的处...
Android平台之不预览获取照相机预览数据帧及精确时间截

Android平台之不预览获取照相机预览数据帧及精确时间截

在Android平台上要获取预览数据帧是一件极其容易的事儿,但要获取每帧数据对应的时间截并不那么容易,网络上关于这方面的资料也比较少。之所以要获取时间截,是因为某些情况下需要加入精确时间轴才能解决问题,如果自己给获取到的时间截打上时间截,则必定引入很多误差,文档主要以理论为主,我想作为一名合格的程序员,有了一个想法,则一定会有办法去编码实现的。 因为项目需要,查找了大量的资料,发现网络上关于获取预览数据的资料都是通过实现PreviewCallback接口...
Android开发之打开闪光灯录制视频

Android开发之打开闪光灯录制视频

Android的SDK在线API上对录制视频的方法、步骤都写得非常清楚,但是如果没有一点思路,写起来也比较式费事。录制视频的全过程要打开闪光灯(可能是因为项目需要,或者特殊原因),则必须按照一定的顺序进行开关,毕竟容易出错。要实现录制的同时开启闪光灯也不难,官方API给出了一个大体的步骤.因为要采集点视频数据,临时写了个简单的Demo学习下,必要时再深度开发。 首先在工程中的AndroidManifest.xml中添加权限声明,因为要使用到摄像头,故需要...
Android设置选项开发及自定义Preference样式

Android设置选项开发及自定义Preference样式

一个完整的Android应用程序都应该提供选项(或者叫偏好设置等等)让用户对APP的表现形式能够进行设置,比如说是否加入用户体验计划,或者是否自动升级、定时提醒、开启自启动、后台运行等等。提供一个好的设置项,会大大提升APP的用户体验。为了完成这样的功能,你不必从头开始写Activity或者Fragment,因为Android已经提供了实现这个功能的API,并且会自动将用户设置以键值对的形式存入SharedPreference(Android的四大存储方式...
Android平台上使用气压传感器计算海拔高度

Android平台上使用气压传感器计算海拔高度

气压传感器两年前已经开始被手机制造商运用在其设备上,但貌似没有引起开发者足够的重视。像Galaxy S III 、Galaxy Note 2和小米2手机上都有,不过大家对于气压传感器比较陌生。其实大气压无处不在,我们可以利用它来为我们完成诸如海拔高度测量甚至是空间定位的任务。 先说些题外话,舒缓一下工作学习的疲惫。前些天跟朋友一起去户外活动,登山到半山腰,突然朋友问我,现在海拔大概多少?我脑子灵光一闪,前些天一个在小米工作的朋友在其小米2手机上打开指南针...
Java语言对比C++语言的几个优点和自身的关键特性

Java语言对比C++语言的几个优点和自身的关键特性

之所以写这篇文章不是为了比较JAVA语言和C++语言到底孰优孰劣,而是从语言本身出发进行对比总结程序编码设计上的差别。因水平有限,某些内容可能太过片面,欢迎指正和讨论。 JAVA语言在设计上很好地借鉴了C++语言,是一种完全“面向对象”的编程语言。JAVA语言的语法与C++语言的结构语法非常相似,这使得C++程序猿学习JAVA变得非常容易。 JAVA语言的最大优点就是“Wirte Once,Run Everywher...
CString类型转char类型出现中文乱码问题

CString类型转char类型出现中文乱码问题

一般来说CString类型的变量具有很强的操作性,但有时为了使用某些c函数,必须将CString类型的变量转换为char数组类型。关于CString转char的方法,网上查了查,发现大都没介绍清楚,这里写出来做个小结,加深下印象。为完成他们之间的转换,首先得说明一下他们所占的内存大小。CString属于所谓的宽字符集,占一个字符占两个字节; char类型属于窄字符集,一个char字符占一个字节。故他们之间的转换涉及到字节大小的转换。另一方面MFC中Ctri...
C++静态库与动态库

C++静态库与动态库

这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。《程序员的自我修养——链接、装载与库》扫描版PDF下载 http://www.linuxidc.com/Linux/2011-09/43809.htm什么是库库是写好...
Python函数参数类型小结

Python函数参数类型小结

刚开始学习Python,Python相对于java确实要简洁易用得多。内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来说理解起来比较轻松。只是函数部分参数的"*"与"**"等问题。着实令人迷糊了一把,弄清概念后写下此文记录下来,也希望本文能够帮助其他初学者。不带“*”,"*" 与 "**"的区别理解这个问题得关键在于要分开理解调用和声明语法中3者得区别...
Android入门学习—Notification消息通知

Android入门学习—Notification消息通知

最近在项目中需要使用消息通知,自己把它封装成了一个方法,需要的时候方便调用,下面对Notification类中的一些常量,字段,方法简单介绍一下:常量:DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等DEFAULT_LIGHTS 使用默认闪光提示DEFAULT_SOUNDS 使用默认提示声音DEFAULT_VIBRATE 使用默认手机震动 【说明】:加入手机震动,一定要在manifest.xml中加入权限:<uses-permiss...
Qt下应用QTcpServer与QTcpSocket实现Tcp控制

Qt下应用QTcpServer与QTcpSocket实现Tcp控制

很多情形下,我们在应用程序的最外层都使用TCP作为可靠控制,下面,我就总结一下我在项目中使用QTcpServer与QTcpSocket的一些心得和体会。 服务端TCP程序可以利用QTcpServer,首先我们声名QTcpServer *对象(注意:QTcpServer占用的网络资源需要我们手动释放,任何我们程序可能异常退出或正常结束的地方QTcpServer *最后都要close()) 注意我们的服务端要一直监听客户端tcpPort=8888; t...
【JavaScript】利用正则表达式检查输入框输入的是否为网址

【JavaScript】利用正则表达式检查输入框输入的是否为网址

这个功能在网页中也是很常见的,友情链接部分、表单填写个人主页的时候,使用JavaScript取验证是否为网址。这个检验不好写,最好还是使用正则表达式去认证。规定,输入的东西只能是http://与https://开头,而且必须是网址。有人说,为何像www.1.com这样的网页不行呢?这是以免你拿用户输入的东西构造超级链接的时候,a标签中的href属性如果遇不到http://或者https://的东西,那么就会认为是根目录,会在你的网站的网址后面接着写入这个地...
使用 Go 构建一个解释型语言

使用 Go 构建一个解释型语言

我目前正参与我们的一个大项目,Alloy。Alloy 是一种编译型的编程语言。我目前在计算机及编程领域最喜欢的一个爱好就是语言。事实上,我认为每个程序员都应该对编程语言是如何工作的有个基本的了解,这就是我写这个系列的原因。这是系列文章中的第一篇文章。该系列将描述我已经写过的代码,来向你展示如何制作自己的编程语言。这里注意一下,本文假设你对编译器/解释器的理论/实践有已有很少或没有过往经验。还有要注意的是,这一系列的文章不是介绍编程或Go编程的。什么是解释器...
Linux 网络编程——原始套接字实例:MAC 地址扫描器

Linux 网络编程——原始套接字实例:MAC 地址扫描器

如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip、port、使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 MAC 地址是必须要有的。那么怎样才能知道对方的 MAC 地址?答案是:它通过 ARP 协议来获取对方的 MAC 地址。ARP(Address Resolution Protocol,地址解析协议),是 TCP/IP 协议族中的一个,主要用于查询指定 ip 所...
JavaScript中常见的数组操作函数及用法

JavaScript中常见的数组操作函数及用法

最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题、淘宝的笔试题等。如果你经常参加笔试或者也是一个过来人,相信你也跟我一样,发现字符串的处理是前端招聘过程中最常见的题型之一。这些题有一个特点,站在考官的角度去考虑,它考的不是你会不会,而是你能不能在不借用XX手册或者XX指南再或者百度谷歌的情况下,用比较简洁的方式写出答案来。可惜的是,很多开发人员,当然我也是其中一员,对于很多经常用到的字符串处理函数却不能牢牢记住他们...
Android中的设计模式-状态模式

Android中的设计模式-状态模式

状态模式说明“状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。” –《JAVA与模式》 管理者持有多种状态,状态切换后,管理者调用Handle方法时,间接调用状态类中的Handle方法,从而根据当前状态的不同,就可以表现出不同的结果。状态模式类图状态模式使用示例例如一个变形金刚,假设它有3中状态:汽车状态,人形状态,飞机状态。 不同的状态进行战斗的时候,采用的方式不同,分别是&...
<< 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 >>