Canvas图片下载

在支持Canvas的浏览器中,实现图片下载非常简单,本文介绍了实现下载的具体方法。

关键API

HTMLCanvasElement.toBlob() 方法创造Blob对象,用以展示canvas上的图片;这个图片文件可以被缓存或保存到本地,由用户代理端自行决定。如不特别指明,图片的类型默认为 image/png,分辨率为96dpi。

void canvas.toBlob(callback, type, encoderOptions);

Canvas基础图形与动画

canvas是 HTML5 新增的元素,可使用JavaScript脚本来绘制图形。基于渲染上下文的不同,WebGL使用canvas元素绘制三维图形,而本文主要围绕二维图形,也就是canvas.getContext('2d')

<canvas id="canvas" width="500" height="500"></canvas>

当没有设置宽度和高度的时候,canvas会初始化宽度为300像素和高度为150像素。

常用git命令

我每天使用 Git ,但是很多命令记不住。

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。

Web中的坐标系

最近在看大漠的Canvas相关文章,看到关于Web坐标系相关介绍,深有体会。弄清楚了Web中的坐标,对CSS相关定位方面的理解,就会清晰很多。

笛卡坐标系

在数学里,我们学过一种坐标系统,叫作笛卡坐标系(Cartesian Coordinate system),这个坐标系统也称为直角坐标系,是一种正交坐标系。

React中的“虫洞”——Context

当我们写React时,我们总是通过改变State和传递Prop对view进行控制,有时,也会遇到一点小麻烦。

但是随着我们的应用变的越来越复杂,组件嵌套也变的越来越深,有时甚至要从最外层将一个数据一直传递到最里层(比如当前user的信息)。

幸运的是,React的开发者也意识到这个问题,为我们开发出了这个空间穿越通道 —— Context。

使用

看起来很高大上的Context使用起来却异常简单。假设我们有下面这样的组件结构。

React组件生命周期

在组件的整个生命周期中,随着该组件的props或者state发生改变,其DOM表现也会有相应的变化。一个组件就是一个状态机,对于特定地输入,它总返回一致的输出。

一个React组件的生命周期分为三个部分:实例化、存在期和销毁时。

实例化

当组件在客户端被实例化,第一次被创建时,以下方法依次被调用: