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

首页 / 操作系统 / 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什么是库库是写好...
PolarSSL 被发现包含高脆弱性安全漏洞

PolarSSL 被发现包含高脆弱性安全漏洞

来自 securityweek 的安全报告:PolarSSL 存在一个高脆弱性的安全漏洞,该漏洞可导致 DoS 攻击以及可能用于远程代码执行。PolarSSL 在很多项目中被使用,包括 OpenVPN、OpenVPN-NL、PowerDNS、Hiawatha、Monkey HTTP Server 以及很多商业产品中。在 2014年11月,PolarSSL 已经成为很多半导体和软件公司的一部分。该高危漏洞(CVE-2015-1182)是由 PolarSSL ...
Python函数参数类型小结

Python函数参数类型小结

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