近两天,一则产品与程序员打架的消息不断在圈里流转议论。就是这个:
产品与程序员,分别生存于项目的上下游。
但产品的设计贯穿于程序的开发中,互相纠结牵扯之处非常多。再者,开发过程中,不断的需求修改及增加也让两者的关系趋于紧张。
同一条生产线,没有让两个职位更亲热,相爱?不存在的。相杀?不停止的。
就像每次我司的产品过来,我都会眉头一皱。怕又是什么我get不到的东西。
只是文中的情况较为极端,需求蛮特殊的,而产品怕是先答允了客户什么,强势的不接受对方解释。
诶,民不畏死,奈何以死相逼。
回到文中所提的需求。变色什么的作为渣渣我也不懂。但是前端确实可以调用摄像头来进行一定的操作。
可以使用getUserMedia这个API来获取摄像头的权限。
具体实现如下:
<!DOCTYPE html>
<html lang="ZH-CN">
<head>
<meta charset="utf-8">
<title>web RTC 测试</title>
<style>
.booth {
width:400px;
background:#ccc;
border: 10px solid #ddd;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="booth">
<video id="video" width="400" height="300"></video>
<button id='tack'> snap shot</button>
<canvas id='canvas' width='400' height='300'></canvas>
<img id='img' src=''>
</div>
<script>
var video = document.getElementById('video'),
canvas = document.getElementById('canvas'),
snap = document.getElementById('tack'),
img = document.getElementById('img'),
vendorUrl = window.URL || window.webkitURL;
//媒体对象
navigator.getMedia = navigator.getUserMedia ||
navagator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
navigator.getMedia({
video: true, //使用摄像头对象
audio: false //不适用音频
}, function(strem){
console.log(strem);
video.src = vendorUrl.createObjectURL(strem);
video.play();
}, function(error) {
//error.code
console.log(error);
});
snap.addEventListener('click', function(){
//绘制canvas图形
canvas.getContext('2d').drawImage(video, 0, 0, 400, 300);
//把canvas图像转为img图片
img.src = canvas.toDataURL("image/png");
})
</script>
</body>
</html>
复制代码
哈哈哈,客官看懂了没?反正我是没懂。不过有兴趣可以实践一番,兴许大概没准就学会掌握辽。