javascript - 你能在 Canvas 上画出弧形图像吗?

标签 javascript html canvas

您可以使用 JavaScript 在 Canvas 上绘制弧线和绘制图像,但是有没有办法同时实现这两者呢?也就是说,是否有办法将图像绘制为圆弧而不是实线?

如果没有,是否有单独的方法来绘制图像?

我尝试沿着弧线点对图像进行逐像素转换,但最终速度非常慢并且看起来很差,因为我无法直接从 javascript 获取像素数据(或者你可以吗?我没有看到办法)所以对于每个像素,我需要计算沿弧线的点,绘制当前图像像素,重新获取它,将图像数据绘制到计算出的点,然后清除 Canvas 上的该点。

最佳答案

您是否尝试过将描边样式设置为基于图像的 CanvasPattern ?看起来您可以执行类似的操作(假设 img 是您要从中绘制的 HTMLImageElement,而 ctx 是 CanvasRenderingContext2D):

var pattern = ctx.createPattern(img, "repeat");
ctx.strokeStyle = pattern;
ctx.beginPath();
ctx.arc(123, 408, 80, 0, 1.5*Math.PI, false);
ctx.stroke();

关于javascript - 你能在 Canvas 上画出弧形图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951647/

相关文章:

Javascript 和 HTML : get the first value of an array row

Android:在 Canvas 上反复绘制相同位图时出现问题

javascript - 我怎样才能让我的 HTML5 canvas 更少像素化,或者更多抗锯齿?

javascript - 如何使用 JavaScript 在 Canvas 上的棋盘中移动棋子/图像?

javascript - 如何更改结果在此字符分类器代码中的显示方式?

javascript - Vue-bootstrap 卡不显示登机

html - CSS 下拉菜单间距

javascript - 在复选框上显示 map_canvas div

javascript - 在 Javascript 中同时做两件事

html - Bootstrap : left and right alignment including a dropdown