【问题标题】:Webcam.js How to get 160 by 120 imageWebcam.js 如何获得 160 x 120 的图像
【发布时间】:2014-09-11 10:06:34
【问题描述】:

我有一个使用 webcamjs 的摄像头直播,这很棒,我很高兴。但是它提供了 320 x 240 的图像,我想要某种方式,我只能向用户显示 160 x 120。

有什么方法可以使用 HTML 或 JavaScript 或 jQuery 来实现吗?

让我再描述一下……

在 chrome 中,我通过 CSS 使用 width 和 height 属性限制了显示区域,但是当我在 IE 中打开时,它使用了 flash,甚至不显示。

<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>

用户可以选择使用照片上传,因此那里的照片标签。我知道这与画布有关,任何帮助表示赞赏......

谢谢,
阿比吉特。

【问题讨论】:

  • 你应该包含你当前的代码,你会得到更好的响应。

标签: javascript jquery html5-canvas webcam.js


【解决方案1】:

免责声明:我不使用 webcamJS,但是...

快速查看源代码会发现您可以在Webcam.set 中设置几个属性,这将导致图像被裁剪:

crop_width:160,
crop_height:120,

有关其工作原理的更多信息(使用 context.drawImage 的剪辑版本),请参阅第 416-425 行的源代码:

https://github.com/jhuckaby/webcamjs/blob/master/webcam.js

【讨论】:

  • “不工作”不是很具体——所以这里有一些关于发现它为什么不工作的一般建议。 WebcamJS 使用画布的drawImage 方法创建图像。通过使用浏览器的开发工具在包含drawImage 的两行代码上放置断点进行调查。然后单步执行 WebcamJS 代码以发现发生了什么。 :-)
  • 如果您不使用 Webcam.js,那么您在使用什么?
  • 工作得很好..在更改了更多参数之后..!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2018-05-19
  • 1970-01-01
  • 2016-10-19
相关资源
最近更新 更多