java实现拍照上传_java实现调用摄像头拍照

var pos = 0, ctx = null, saveCB, image =[];

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

canvas.setAttribute('width', w);

canvas.setAttribute('height', h);

console.log(canvas.toDataURL);

if (canvas.toDataURL) {

ctx = canvas.getContext("2d");

image = ctx.getImageData(0, 0, w, h);

saveCB = function(data) {

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

var img = image;

for(var i = 0; i < w; 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;

}

if (pos >= 4 * w * h) {

ctx.putImageData(img, 0, 0);

/* $.post("servlet/CatD", {type: "data", image: canvas.toDataURL("image/png")}, function(msg){

console.log("===="+eval(msg));

pos = 0;

$("#img").attr("src", msg+"");

}); */

$.ajax({

type: "post",

url: "servlet/CatD?t="+new Date().getTime(),

data: {type: "pixel", image: canvas.toDataURL("image/png")},

dataType: "html",

success: function(data){

console.log("===="+data);

pos = 0;

$("#img").attr("src", "");

$("#img").attr("src", data);

}

});

}

};

} else {

saveCB = function(data) {

image.push(data);

pos+= 4 * w;

if (pos >= 4 * w * h) {

/* $.post("servlet/CatD", {type: "pixel", image: image.join('|')}, function(msg){

console.log("+++++"+eval(msg));

pos = 0;

$("#img").attr("src", msg+"");

}); */

$.ajax({

type: "post",

url: "servlet/CatD",

data: {type: "pixel", image: image.join('|')},

dataType: "json",

success: function(data){

console.log("+++++"+eval(msg));

pos = 0;

$("#img").attr("src", msg+"");

}

});

}

};

}

$("#webcam").webcam({

width: w,

height: h,

mode: "callback",

swffile: "js/jscam_canvas_only.swf",

onSave: saveCB,

onCapture: function () {

webcam.save();

},

debug: function (type, string) {

console.log(type + ": " + string);

}

});

});

//拍照

function savePhoto(){

webcam.capture();

}

/*$(function () {

var image = new Array();

var w = 320, h = 240;

var pos = 0;

$("#webcam").webcam({

width: w,

height: h,

mode: "callback",

swffile: "${ctxStatic }/jquery-plugin/jscam_canvas_only.swf", // canvas only doesn't implement a jpeg encoder, so the file is much smaller

onTick: function (remain) {

if (0 == remain) {

jQuery("#status").text("Cheese!");

} else {

jQuery("#status").text(remain + " seconds remaining...");

}

},

onSave: function (data) {

// Work with the picture. Picture-data is encoded as an array of arrays... Not really nice, though =/

image.push(data);

pos += 4 * w;

if (pos == 4 * w * h) {

$.post("${ctx}/common/webcam/uploadPhoto", {w: w, h: h, image: image.join('|')}, function (msg) {

pos = 0;

image = new Array();

$("#img").attr("src", "${ctx}/"+msg);

});

}

},

onCapture: function () {

webcam.save();

// Show a flash for example

},

debug: function (type, string) {

// Write debug information to console.log() or a div, ...

},

onLoad: function () {

// Page load

var cams = webcam.getCameraList();

for (var i in cams) {

jQuery("#cams").append("

" + cams[i] + "");

}

}

});

});*/

#webcam { border: 1px solid #666666; width: 320px; height: 240px; }

#photos { border: 1px solid #666666; width: 320px; height: 240px; }

.btn { width: 320px; height: auto; margin: 5px 0px; }

.btn input[type=button] { width: 150px; height: 50px; line-height: 50px; margin: 3px; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值