Created
December 7, 2017 02:28
-
-
Save yushulx/c3a4368fc8ffb6ef49746531376d9057 to your computer and use it in GitHub Desktop.
How to use Dynamsoft Camera SDK with Dojo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Hello World</title> | |
<link rel="stylesheet" href="bower_components/dijit/themes/claro/claro.css"> | |
<script> | |
dojoConfig = { | |
parseOnLoad: true | |
} | |
</script> | |
<script src="bower_components/dojo/dojo.js"></script> | |
<script type="text/javascript" src="https://www.dynamsoft.com/library/dcs/dynamsoft.camera.min.js"> | |
</script> | |
</head> | |
<body class="claro"> | |
<h1>Dojo for DCS</h1> | |
<select size="1" id="source" width="220px" onchange="onSourceChanged()"></select> | |
<button id="onCapture" type="button"></button> | |
<div id="video-container"></div> | |
<div id="image-container"></div> | |
<script type="text/javascript"> | |
require(["dijit/form/Button", "dojo/dom", "dojo/domReady!"], function (Button, dom) { | |
var myButton = new Button({ | |
label: "Capture", | |
onClick: function () { | |
if (!dcsObject) return; | |
dcsObject.camera.captureImage('image-container'); | |
if (dcsObject.getErrorCode() !== EnumDCS_ErrorCode.OK) { | |
alert('Capture error: ' + dcsObject.getErrorString()); | |
} | |
} | |
}, "onCapture").startup(); | |
}); | |
// DCS Initialization | |
var dcsObject, imageViewer; | |
var width = 480, | |
height = 320; | |
function onInitSuccess(videoViewerId, imageViewerId) { | |
dcsObject = dynamsoft.dcsEnv.getObject(videoViewerId); | |
dcsObject.videoviewer.setWidth(width); | |
dcsObject.videoviewer.setHeight(height); | |
imageViewer = dcsObject.getImageViewer(imageViewerId); | |
imageViewer.ui.setWidth(width); | |
imageViewer.ui.setHeight(height); | |
var cameraList = dcsObject.camera.getCameraList(); | |
for (var i = 0; i < cameraList.length; i++) { | |
document.getElementById("source").options.add(new Option(cameraList[i], i)); | |
} | |
if (cameraList.length > 0) { | |
dcsObject.camera.takeCameraOwnership(cameraList[0]); | |
dcsObject.camera.playVideo(); | |
} else { | |
alert('No camera is connected.'); | |
} | |
} | |
function onInitFailure(errorCode, errorString) { | |
alert('Init failed: ' + errorString); | |
} | |
function onSourceChanged() { | |
if (!dcsObject) return; | |
var source = document.getElementById("source"); | |
var camera = source.options[source.selectedIndex].text; | |
dcsObject.camera.takeCameraOwnership(camera); | |
dcsObject.camera.playVideo(); | |
} | |
dynamsoft.dcsEnv.init('video-container', 'image-container', onInitSuccess, onInitFailure); | |
window.onbeforeunload = function () { | |
if (dcsObject) dcsObject.destroy(); | |
}; | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment