摘要:
图片来自KrzysztofBanaś 下面我们开始尝试研究不同的绘图风格和技术 - 边缘平滑,贝塞尔曲线,墨水和粉笔,笔和印章和图案 -等等。事实证明,网上没有太多关于此的内容。在下面的示例中,您请大家查看演示源代码,以便了解正在发生的事情。 这篇教程将带您从基础知识(在画布上绘制原始鼠标跟随线), 阅读全文
摘要:
arr1 = ['a', 'b', 'c'] arr2 = ['1', '2', '3'] 把数组arr2插入数组arr1的第二个元素b后面; 思路: 插入特定的位置,我们首先会想到splice,但是又不能直接splice(2, 0, arr2),这样的结果:['a', 'b', ['1', '2' 阅读全文
摘要:
git 上新建的分支,本地想要拉取该分支,但是找不到这个分支 使用 git branch -a 也看不到该分支 使用命令: 有如下报错信息: “ ” 解决方法: 参考:https://stackoverflow.com/questions/22984262/cannot-update-paths-a 阅读全文
摘要:
canvas 绘制各种动画效果时,我们经常会使用画布旋转,使绘制上去的元素有旋转的效果。 最近在项目中碰到了很严重的性能问题,经常排查发现是因为绘制批量文字时使用了画布旋转,且每行文字的旋转角度是不一样的,每次绘制前都会去动态的改变画布上下文context的旋转角度值,导致CPU占用太多。 而且发现 阅读全文
摘要:
1.canvas自带的绘制椭圆的方法 ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)是后来添加的, 参数的意思:(起点x.起点y,半径x,半径y,旋转的角度,起始角,结果角,顺时针还是逆时针 阅读全文
摘要:
本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 如何使用本教程 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也 阅读全文
摘要:
Canvas原理 Canvas我们把它翻译成画布,从字面意思我们就可以知道,不就是可以在上面画东西的布吗。好像很简单,没什么好说的。先看图: 从这几幅图我们可以看到以下几点: 1.每个小方格我们可以看作一个像素点。 2.Canvas和Screen的长和宽决定他们的图像,数据存储都可以看作是矩形数组( 阅读全文
摘要:
初学者也许会误认为canvas中save方法是用来保存绘图状态的图形,而restore方法是用来还原之前保存的绘图状态的图形,其实不然。 save():保存当前的绘图状态。 restore():恢复之前保存的绘图状态。 在Canvas环境中绘图时,可以利用所谓的绘图堆栈状态。每个状态随时存储Canv 阅读全文
摘要:
在二维平面上,常用的有以下三种基本的图形变化: 1)Translation 2)Scale 3)Rotation 在canvas的开发中,我们也经常会用到这样的一些图形变换,尤其是我们在写自定义View时,更是会经常利用到Matrix来实现一些效果,比如平移,旋转,缩放及切变等,相信很多朋友应该很想 阅读全文
摘要:
判断是否在矩形内: 只需要判断该点是否在上下两条边和左右两条边之间就行。 判断一个点是否在两条线段之间夹着就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图 只要判断(AB X AE ) * (CDX CE) >= 0 就说明E在AD和BC中间夹 阅读全文