用画布绘制单个像素

时间:2012-03-04 21:52:07

标签: javascript jquery html5 canvas

是否可以说,一个放大的画布,其中每个5x5块实际上是最终图像中的1个像素,以及如何使用存储在变量onclick中的颜色“绘制”像素?我测试的任何代码最终都是笔画,点击不会因为某些原因而无效。

1 个答案:

答案 0 :(得分:4)

这样的东西?

<canvas id="canvas" style="width:100px; height:100px" width="5" height="5"></canvas>

<script>

    var canvas = document.getElementById("canvas");

    var context = canvas.getContext("2d");

    //Background
    context.fillStyle = "#000";
    context.fillRect(0, 0, canvas.width, canvas.height);



    canvas.addEventListener("click", function(e) {

        var x = Math.floor(e.x * canvas.width / parseInt(canvas.style.width));
        var y = Math.floor(e.y * canvas.height / parseInt(canvas.style.height));


        //Zoomed in red 'square'
        context.fillStyle = "#F00";
        context.fillRect(x, y, 1, 1);

    }, true);

</script>

编辑:添加了点击功能

演示:http://jsfiddle.net/Cmpde/