我有一个使用webcamjs来自相机的实时流,非常棒,我很开心。然而,它提供320 x 240图像,我想要一些方法,我只能向用户显示160×120。
有没有办法使用HTML或JavaScript或jQuery来实现这一目标?
让我来描述一下......
在chrome中,我通过使用宽度和高度属性来限制显示区域,但是当我在IE中打开时,它使用闪光灯甚至不显示。
<form>
.....
.....
<td>Photo</td>
<td><input id="photo7" type="file" name="photo">
</td>
<div style="width: 320px; height: 240px; clear: right; float: right">
<div id="takesnap11"
style="clear: both; float: right; text-align: center;"></div>
<div id="my_camera" style="width: 320px; height: 240px; "></div>
<img id="results2" height="120" width="160" />
</div>
<script src="../js/webcam.min.js" type="text/javascript"></script>
<script>
</script>
</form>
</section>
<script>
function Initiate(){
Webcam.set({
image_format: 'jpeg',
jpeg_quality: 90,
dest_width: 160,
dest_height: 120,
force_flash: false
});
Webcam.attach( '#my_camera' );
document.getElementById("takesnap11").innerHTML='<div onclick="take_snapshot();">Take Snap</div>';
}
function take_snapshot() {
var data_uri = Webcam.snap();
document.getElementById('resultssss').innerHTML ='<textarea style="width: 90px;" style="display:none" name="capturedimage"> '+data_uri+'</textarea>';
document.getElementById('results2').src = data_uri;
}
</script>
<script src="../js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script>
$('#photo7').on('change', function(ev) {
var f = ev.target.files[0];
var fr = new FileReader();
fr.onload = function(ev2) {
console.dir(ev2);
$('#results2').attr('src', ev2.target.result);
document.getElementById('resultssss').innerHTML ='<textarea style="width: 90px;" style="display:none" name="capturedimage"> '+ev2.target.result+'</textarea>';
};
fr.readAsDataURL(f);
});
</script>
用户可以选择使用照片上传,因此可以使用照片标签。我知道这是帆布的任何帮助赞赏......
谢谢,
Abhijeet。
答案 0 :(得分:0)
免责声明:我不使用webcamJS,但是......
快速查看源代码,可以看出您可以在Webcam.set
中设置一些属性,这会导致图像被裁剪:
crop_width:160,
crop_height:120,
有关其工作原理的更多信息(使用context.drawImage的剪辑版本),请参阅第416-425行的来源: