当前位置: 首页 > 编程笔记 >

在HTML5画布上绘制一个填充有随机颜色正方形的圆圈

汪泓
2023-03-14
本文向大家介绍在HTML5画布上绘制一个填充有随机颜色正方形的圆圈,包括了在HTML5画布上绘制一个填充有随机颜色正方形的圆圈的使用技巧和注意事项,需要的朋友参考一下

当我们需要在浏览器中用1x1像素填充所有不同颜色的圆时,我们可以使用以下简单方法: 

    list-paddingleft-2">
  • 在画布上以200x200网格绘制具有某些随机颜色的所有像素 

  • 更改复合模式 

  • 在顶部绘制圆

让我们看一个例子:

var canvas1 = document.getElementById('canvas'), // getting canvas element
   ctx1 = canvas1.getContext('2d'), // getting context
   x, y = 0, // initializing x and y coordinates
   diamet = canvas1.width,
   radius = diamet * 0.6;
   ctx1.translate(0.6, 0.6); //Making pixels sharper
   
   for(; y < diamet; y++) { // x/y grid
      for(x = 0; x < diamet; x++) {
      ctx1.fillStyle = getRndColor(); // Random color setting
      ctx1.fillRect(x, y, 2, 2); // Drawing a pixel
   }
}
//创建圈子
//删除下一个形状之外的像素
Ctx1.globalCompositeOperation = 'destination-in';
Ctx1.arc(radius, radius, radius, 0, 2*Math.PI);
Ctx1.fill();

//重置
Ctx1.globalCompositeOperation = 'source-over';
function getRndColor() {
   var r = 255*Math.random()|0,
    g = 255*Math.random()|0,
    b = 255*Math.random()|0;
  return 'rgb(' + r + ',' + g + ',' + b + ')';
}
 类似资料:
  • 我正在尝试做一些非常简单的事情(见上文)。我希望画布的所有像素都是纯色,除了填充中心圆圈的像素。我已经阅读了数百篇关于这个主题的stack overflow帖子,并尝试了数百种方法,包括设置porterduff.mode。下面是MyView extends视图的当前onDraw(): 我是不是误解了什么,为什么我不能用透明油漆在现有的像素上油漆。当我这样做时,像素保持不变。当我使用PorterDu

  • 问题内容: 似乎没有绘制椭圆形形状的本机功能。我也不是在寻找蛋形。 是否可以绘制具有2个贝塞尔曲线的椭圆形?有人遇到过吗? 我的目的是画一些眼睛,实际上我只是使用弧线。提前致谢。 解 因此,scale()更改所有下一个形状的缩放比例。Save()之前保存设置,还原用于还原设置以绘制新形状而无需缩放。 感谢Jani 问题答案: 更新: 缩放方法可能会影响笔触宽度的外观 正确的缩放方法可以保持笔画宽度

  • 我想用javascript在响应画布上画一个圆圈。我得到了画布的宽度和高度,但由于div标签的宽度和高度%,我能够正确地画出圆圈。div标记的宽度和高度以%为单位,因为我想在单个页面上显示5个画布。是否有其他方法可以在一页上放置5块画布,并使用画布的高度和宽度在每个画布上画一个圆圈?还有一件事,我不想要绝对位置,因为根据浏览器的宽度,我想要改变画布的位置 图片:192.168。10.29/1.巴布

  • 我已经使用nvd3很长时间了。在nvd3中,我们可以选择指定自动图形填充颜色。 如何在Chart.js图形中填充随机颜色,而不在数据集中定义每种颜色? 我不想使用JavaScript函数生成并从中获取随机颜色。我需要类似nvd3的东西 如果有可能的话,请帮助我。

  • 问题内容: 我需要知道如何在画布上绘制多边形。不使用jQuery或类似的东西。 问题答案: 使用和创建一个路径:

  • 实际上,我可以使用函数来完成。我从“HTML5画布-如何在图像背景上画一条线?”中得到的东西。但是我需要在不使用from函数的情况下绘制图像,如下所示: