javascript - HTML5 Canvas 软笔刷

标签 javascript html canvas paint brush

在 HTML5 Canvas 上绘图时,创建“软刷” 效果的不同方法有哪些?速度和效率很重要,所以如果有人对不同的方法有任何基准,那就太棒了。

为了详细说明我所说的 “软画笔” 的意思,我指的是基本上具有径向 alpha 透明度的画笔,因此边缘比中心更透明。

我听说过几种方法,包括在内存 Canvas 上绘画和应用模糊。但是,我无法想象这种方法非常有效。

谢谢

最佳答案

您可以尝试在线条下方添加阴影:

http://www.html5canvastutorials.com/advanced/html5-canvas-shadow-offset-tutorial/

<canvas id="myCanvas" width="578" height="200"></canvas>
<script>
  var canvas = document.getElementById('myCanvas');
  var context = canvas.getContext('2d');

  context.rect(188, 40, 200, 100);
  context.fillStyle = 'red';
  context.shadowColor = '#999';
  context.shadowBlur = 20;
  context.shadowOffsetX = 15;
  context.shadowOffsetY = 15;
  context.fill();
</script>

通过将偏移量设置为 0,模糊将由浏览器而不是您的代码完成。

关于javascript - HTML5 Canvas 软笔刷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315476/

相关文章:

html - 如何使用 css/html 隐藏带 src 的图像,如 *-1.jpg 或 *-1.gif?

javascript - HTML Canvas Animate 折叠三 Angular 形

javascript - 在同一 Canvas 上交换图形

javascript - 仅当内容与特定值匹配时才渲染 VUE 槽

javascript - 脚本标签中的自定义属性

javascript - Angular ng-repeat 与 ng-option

javascript - 为什么 $get() 函数太晚了?

javascript - 使用滚动条后 Canvas 像素坐标偏移

javascript - 如何避免 OpenLayers 中的双重选择?

php - 优化ajax同步调用