142 lines
3.7 KiB
HTML
142 lines
3.7 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<title>Test!</title>
|
|||
|
<meta charset="utf-8"/>
|
|||
|
<script src="sane.js"></script>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<p>
|
|||
|
<h1>Test!</h1>
|
|||
|
<select id="devicenames" style="width:200px; height:25px;">
|
|||
|
</select>
|
|||
|
<input id="getdevices" type="button" value="获取设备列表" onclick="getdevices()" /><br>
|
|||
|
<label for="showbase64">转换成Base64:</label>
|
|||
|
<input type="checkbox" id="showbase64"><br>
|
|||
|
<label for="source">单/双面:</label>
|
|||
|
<select id="source">
|
|||
|
<option value="Adf-front">Adf-front</option>
|
|||
|
<option value="Adf-duplex" selected>Adf-duplex</option>
|
|||
|
</select><br>
|
|||
|
<label for="mode">颜色模式:</label>
|
|||
|
<select id="mode">
|
|||
|
<option value="Lineart">Lineart</option>
|
|||
|
<option value="Gray">Gray</option>
|
|||
|
<option value="Color" selected>Color</option>
|
|||
|
</select><br>
|
|||
|
<label for="resolution">分辨率:</label>
|
|||
|
<input type="number" id="resolution" min="1" max="600" value="200" step="1"><br>
|
|||
|
<input id="scan" type="button" value="扫描" onclick="scan()" /><br>
|
|||
|
<input id="cleardata" type="button" value="清理" onclick="cleardata()" />
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
<img id="myCanvas" width='640' height='480' style="background-color: black;"/>
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
<input type="text" id="pathinfo" style="width:640px; height:40px;" />
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
<input type="text" id="errinfo" style="width:640px; height:40px;" />
|
|||
|
</p>
|
|||
|
<script>
|
|||
|
|
|||
|
function onInitFunc()
|
|||
|
{
|
|||
|
getdevices();
|
|||
|
}
|
|||
|
|
|||
|
function onGetDevicesFunc(devs)
|
|||
|
{
|
|||
|
//alert(JSON.stringify(devs));
|
|||
|
|
|||
|
var select = document.getElementById('devicenames');
|
|||
|
select.innerHTML = "";
|
|||
|
for (var i = 0; i < devs.length; ++i)
|
|||
|
{
|
|||
|
var option = document.createElement('option');
|
|||
|
option.value = devs[i];
|
|||
|
option.textContent = devs[i];
|
|||
|
select.appendChild(option);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function onScanOneFileDoneFunc(datatype, imgtype, imgpath, imgbase64data)
|
|||
|
{
|
|||
|
if (imgpath)
|
|||
|
{
|
|||
|
var pathinfo = document.getElementById('pathinfo');
|
|||
|
pathinfo.value = imgpath;
|
|||
|
}
|
|||
|
|
|||
|
if (imgbase64data)
|
|||
|
{
|
|||
|
var myCanvas = document.getElementById("myCanvas");
|
|||
|
myCanvas.src = imgbase64data;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function onErrorMessageFunc(errormsg)
|
|||
|
{
|
|||
|
var errinfo = document.getElementById('errinfo');
|
|||
|
errinfo.value = errormsg;
|
|||
|
}
|
|||
|
|
|||
|
function getdevices()
|
|||
|
{
|
|||
|
var errinfo = document.getElementById('errinfo');
|
|||
|
errinfo.value = "";
|
|||
|
|
|||
|
sane.getdevices();
|
|||
|
}
|
|||
|
|
|||
|
function scan()
|
|||
|
{
|
|||
|
var pathinfo = document.getElementById('pathinfo');
|
|||
|
pathinfo.value = "";
|
|||
|
var errinfo = document.getElementById('errinfo');
|
|||
|
errinfo.value = "";
|
|||
|
var myCanvas = document.getElementById("myCanvas");
|
|||
|
myCanvas.src = 'placeholder.png';
|
|||
|
|
|||
|
sane.showbase64 = document.getElementById('showbase64').checked;
|
|||
|
sane.source = document.getElementById('source').value;
|
|||
|
sane.mode = document.getElementById('mode').value;
|
|||
|
sane.resolution = parseInt(document.getElementById('resolution').value, 10);
|
|||
|
|
|||
|
sane.scan(document.getElementById('devicenames').value);
|
|||
|
}
|
|||
|
|
|||
|
function cleardata()
|
|||
|
{
|
|||
|
var errinfo = document.getElementById('errinfo');
|
|||
|
errinfo.value = "";
|
|||
|
|
|||
|
sane.clear();
|
|||
|
}
|
|||
|
|
|||
|
window.onload = function()
|
|||
|
{
|
|||
|
var pathinfo = document.getElementById('pathinfo');
|
|||
|
pathinfo.value = "";
|
|||
|
var errinfo = document.getElementById('errinfo');
|
|||
|
errinfo.value = "";
|
|||
|
var myCanvas = document.getElementById("myCanvas");
|
|||
|
myCanvas.src = 'placeholder.png';
|
|||
|
|
|||
|
sane.registerevent("OnInit", onInitFunc);
|
|||
|
sane.registerevent("OnGetDevices", onGetDevicesFunc);
|
|||
|
sane.registerevent("OnScanOneFileDone", onScanOneFileDoneFunc);
|
|||
|
sane.registerevent("OnErrorMessage", onErrorMessageFunc);
|
|||
|
|
|||
|
sane.init(38999, true);
|
|||
|
}
|
|||
|
|
|||
|
window.onbeforeunload = function()
|
|||
|
{
|
|||
|
sane.deinit();
|
|||
|
}
|
|||
|
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
</html>
|