Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建要在其上绘制的栅格_Javascript_Jquery_Html - Fatal编程技术网

Javascript 创建要在其上绘制的栅格

Javascript 创建要在其上绘制的栅格,javascript,jquery,html,Javascript,Jquery,Html,我想在我的网站上创建一个网格,您可以在其中进行绘制。 但也存在一些问题: 我希望它与IE7/8兼容(因此没有HTML5/canvas) 我也希望能够存储在最后绘制的图像 网格必须具有多种尺寸(从10x10到1000x1000,最好甚至更大)。可能具有放大/缩小功能 我还想支持所有RGB颜色 除此之外,应在固定尺寸(即800x600)上绘制整个网格 没有闪光 不过,我不知道怎样做,因此我想问是否有人知道这样做的方法 我自己也一直在研究jquery,虽然我不知道如何以这种方式实现它,因为我以前从未使

我想在我的网站上创建一个网格,您可以在其中进行绘制。 但也存在一些问题:

  • 我希望它与IE7/8兼容(因此没有HTML5/canvas)
  • 我也希望能够存储在最后绘制的图像
  • 网格必须具有多种尺寸(从10x10到1000x1000,最好甚至更大)。可能具有放大/缩小功能
  • 我还想支持所有RGB颜色
  • 除此之外,应在固定尺寸(即800x600)上绘制整个网格
  • 没有闪光 不过,我不知道怎样做,因此我想问是否有人知道这样做的方法
  • 我自己也一直在研究jquery,虽然我不知道如何以这种方式实现它,因为我以前从未使用过它


    编辑:添加了一些其他要求

    如果您只想保存绘制的图像而不是网格线,为什么不使用图像

    有几张你想要的尺寸的图片。这样,您就不会在浏览器上添加额外的处理


    您只需使用smalles网格大小的图像,并在背景上平铺/重复它。应该是一个相当小的图像和快速加载,如果我理解正确;如果想要一个带有单元格的网格,用户可以选择一种颜色,然后在单元格上拖动/移动以绘制一些东西。然后,当用户满意时,他们必须能够保存图片以便以后继续

    我将描述如果它是我的项目(jQuery和CSS),我会做什么

    首先,我要列出:

    <ul id="grid"></ul>
    
    您需要一个javascript函数来循环所有行和单元格,并将信息保存在xml文件或其他能够保存图形的文件中。您需要一个来读取xml并根据信息生成网格

    布利特5;您可以将网格包装为div,并将宽度和高度设置为800x600,将CSS设置为overflow:scroll


    希望这能帮助您朝正确的方向前进。

    您可以使用彩色跨度绘制任何您想要的内容

    这是一个可以作为进一步发展的起点。

    去一些自由职业者网站,在那里你可以雇佣一些人或你,因为这里没有人会为你编写代码。这里正在使用。@Somebody Istruble不,我希望自己做这件事,因为这是我自己的一个项目,我希望从中学习。“把它送给我必须付钱的其他人简直是个坏主意。@JaredFarrish看起来很有趣,我会看一看如果你真的想学习flash可能会帮你你没有完成他的第三个要求哪部分?”?不同大小的网格将很容易完成。至于缩放,就像你说的,没有人会为你编码。不仅图像确实让第三部分变得困难,我也不想制作超过一百万张不同的图像。显然,我想支持所有RGB颜色。。
    function createGrid() {
        $('#grid').html('');
    
        for(var row = 0; row < total_rows; row++) {
            $('#grid').append('<li id="row_' + row + '"></li>');
            var current_row = $('#row_' + row);
    
            for(cell = 0; cell < total_cells; cell++) {
                $(current_row).append('<div id="cell_' + cell + '" class="cell"></div>');
    
                //set events
                $('#cell_' + cell).mouseenter(paint_cell);
            }
        }
    }
    
    function paint_cell(event) {
        //mouse down?
        if(event.which==1) {
            //give it a color
            $(this).addClass('red');
        }
    }
    
    .cell {
        float: left;
        width: 20px;
        height: 20px;
        background: white;
    }
    
    .cell .red {
        background: red; //all the rgb you want ;)
    }