code_app/test/webservice/lsc-demo/web-api.html

142 lines
3.7 KiB
HTML
Raw Normal View History

2024-09-29 06:13:15 +00:00
<!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>