在画布上制作形状的随机颜色
making random colors in shapes on canvas
我有一个在画布上制作随机形状的代码。我想用随机的颜色填充形状,为此我做了这个:
var R=(Math.floor(Math.random() * 255);
var G=(Math.floor(Math.random() * 255);
var B=(Math.floor(Math.random() * 255);
var randColor='rgb(' + R +', ' + G + ',' + B +')';
context.fillStyle=randColor;
我把它放在生成我的形状的函数中,但运气不好。例如,我只把它放在makeRect函数中,但它也应该放在makeCircle函数中。有人能告诉我我做错了什么吗?
这是我的HTML:
<head>
<link href="design.css" rel="stylesheet" />
</head>
<body>
<h4> Enter below, and then press the canvas to save your work</h4>
<canvas id="canvas" width="1000" height="750"></canvas>
<br/>
<br/>
<span>
How many Circles do you want?
<input id="inCircle" />
</span>
<br/>How many Squers do you want?
<input id="inSquer" />
<br/>
<button id="creat">Creat My Work</button>
<script src="js.js"></script>
</body>
</html>
这是我的JavaScript:
var drawing = document.getElementById("canvas");
var context = drawing.getContext("2d");
var inSquer = document.getElementById("inSquer");
var inCircle = document.getElementById("inCircle");
var button = document.getElementById("creat");
button.addEventListener("click", function() {
paint(parseInt(inSquer.value), parseInt(inCircle.value));
});
drawing.addEventListener("click", function() {
saveImage();
});
function saveImage() {
window.location = drawing.toDataURL("image/jpeg");
}
function paint(numOfRect, numOfCirc) {
for (var makeIt = 0; makeIt < numOfRect; makeIt++) {
makeRect(drawing, context);
makeCircle(drawing, context);
}
}
function makeCircle(drawing, context) {
var radius = Math.floor(Math.random() * 100);
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
context.beginPath();
context.arc(x, y, radius, 0, 2 * Math.PI);
context.fillStyle = "blue";
context.fill();
}
function makeRect(drawing, context) {
var w = Math.floor(Math.random() * 100);
var x = Math.floor(Math.random() * canvas.width);
var y = Math.floor(Math.random() * canvas.height);
var R=(Math.floor(Math.random() * 255);
var G=(Math.floor(Math.random() * 255);
var B=(Math.floor(Math.random() * 255);
var randColor='rgb(' + R +', ' + G + ',' + B +')';
context.fillStyle=randColor;
/*context.fillStyle="green";*/
context.fillRect(x, y, w, w);
}
这是我的css:
h4{
text-align: center;
}
#canvas{
margin-left: 250px;
border: 1px solid black;
}
JS的第一个部分缺少一些括号。
var R = (Math.floor(Math.random() * 255)),
G = (Math.floor(Math.random() * 255)),
B = (Math.floor(Math.random() * 255)),
randColor = 'rgb(' + R + ', ' + G + ',' + B + ')';
中缺少一些括号
var R=(Math.floor(Math.random() * 255);
var G=(Math.floor(Math.random() * 255);
var B=(Math.floor(Math.random() * 255);
让它工作
var R=(Math.floor(Math.random() * 255));
var G=(Math.floor(Math.random() * 255));
var B=(Math.floor(Math.random() * 255));
相关文章:
- 如何使用D3生成特定范围内的随机颜色
- 单击时将文本的颜色更改为随机颜色(按钮)
- 使用JS将页面中的每个字母设置为随机颜色.为什么在页面的每个打开标记之前总是有一组额外的span标记
- 令人愉快的调色板随机颜色生成
- 显示所选随机颜色的十六进制
- 使用jquery将文本更改为伪随机颜色
- 用于生成具有随机颜色的 CSS 属性的脚本
- 为 H1 元素提供随机颜色
- 生成随机颜色不起作用
- JavaScript 中的选择性随机颜色
- 根据某些集合创建随机颜色的方法
- 从选择列表中生成随机颜色
- 数据库条目(缩略图)周围的随机颜色边框(Javascript)
- 如何为链接分配随机颜色
- jQuery:生成尚未使用的唯一随机颜色
- 在画布上制作形状的随机颜色
- ng重复为每一行设置一个随机颜色
- 随机颜色与偏好
- 生成随机颜色偏差
- 随机颜色猜测游戏(JavaScript)