如何将pic从javascript保存到input = field

时间:2015-07-28 20:14:04

标签: javascript jquery html

我有一个脚本用于拍摄我从这里拍摄的网络摄像头webcam click。但是我想把它放在input =" file"而不是保存它。用PHP文件中的其他数据将其转移到PHP文件中。

所以这是函数webcam.save()的js部分;有关它的更多详细信息,您可以转到我在开头提供的链接。

onSave: function(data) {

    var col = data.split(";");
    var img = image;

    if (false == filter_on) {

        for(var i = 0; i < 320; i++) {
            var tmp = parseInt(col[i]);
            img.data[pos + 0] = (tmp >> 16) & 0xff;
            img.data[pos + 1] = (tmp >> 8) & 0xff;
            img.data[pos + 2] = tmp & 0xff;
            img.data[pos + 3] = 0xff;
            pos+= 4;
        }

    } else {

        var id = filter_id;
        var r,g,b;
        var r1 = Math.floor(Math.random() * 255);
        var r2 = Math.floor(Math.random() * 255);
        var r3 = Math.floor(Math.random() * 255);

        for(var i = 0; i < 320; i++) {
            var tmp = parseInt(col[i]);

            if (id == 0) {
                r = (tmp >> 16) & 0xff;
                g = 0xff;
                b = 0xff;
            } else if (id == 1) {
                r = 0xff;
                g = (tmp >> 8) & 0xff;
                b = 0xff;
            } else if (id == 2) {
                r = 0xff;
                g = 0xff;
                b = tmp & 0xff;
            } else if (id == 3) {
                r = 0xff ^ ((tmp >> 16) & 0xff);
                g = 0xff ^ ((tmp >> 8) & 0xff);
                b = 0xff ^ (tmp & 0xff);
            } else if (id == 4) {

                r = (tmp >> 16) & 0xff;
                g = (tmp >> 8) & 0xff;
                b = tmp & 0xff;
                var v = Math.min(Math.floor(.35 + 13 * (r + g + b) / 60), 255);
                r = v;
                g = v;
                b = v;
            } else if (id == 5) {
                r = (tmp >> 16) & 0xff;
                g = (tmp >> 8) & 0xff;
                b = tmp & 0xff;
                if ((r+= 32) < 0) r = 0;
                if ((g+= 32) < 0) g = 0;
                if ((b+= 32) < 0) b = 0;
            } else if (id == 6) {
                r = (tmp >> 16) & 0xff;
                g = (tmp >> 8) & 0xff;
                b = tmp & 0xff;
                if ((r-= 32) < 0) r = 0;
                if ((g-= 32) < 0) g = 0;
                if ((b-= 32) < 0) b = 0;
            } else if (id == 7) {
                r = (tmp >> 16) & 0xff;
                g = (tmp >> 8) & 0xff;
                b = tmp & 0xff;
                r = Math.floor(r / 255 * r1);
                g = Math.floor(g / 255 * r2);
                b = Math.floor(b / 255 * r3);
            }

            img.data[pos + 0] = r;
            img.data[pos + 1] = g;
            img.data[pos + 2] = b;
            img.data[pos + 3] = 0xff;
            pos+= 4;
        }
    }

    if (pos >= 0x4B000) {
        ctx.putImageData(img, 0, 0);
        pos = 0;
    }
},

HTML:

<input type="file" id="pic">

0 个答案:

没有答案