Android环境下使用cordova从事手写签名代码
2015-12-23 16:10
381 查看
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<p>
<canvas id="can" width="330" height="450"
style="border: 1px solid black"></canvas>
</p>
<p>
<input type="checkbox" id="cbCalibration" onchange="onChange()" /><label
for="cbCalibration">屏幕校准</label>
</p>
<p>
<input type="button" class="c-btn-oran-big"
style="margin-top: 8px; width: 160px;" id="btnUpload" value="上传到服务器"
size="30" name="btnUpload" /> <input type="button"
class="c-btn-oran-big" style="margin-top: 8px; width: 160px;"
id="btnSave" value="保存到本地" size="30" name="btnSave" />
</p>
<script>
setWrite(false);
var canvas = document.getElementById("can");
var context = canvas.getContext("2d");//获取2D图像API接口
var cbCalibration = document.getElementById("cbCalibration");
canvas.addEventListener('touchmove', onTouchMove, false);
canvas.addEventListener('touchstart', onTouchStart, false);
canvas.addEventListener('touchend', onTouchEnd, false);
function onTouchMove(event) {
console.log("onTouchMove: bCalibration = " + bCalibration);
// 如果这个元素的位置内只有一个手指的话
if (paint) {
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
context.lineTo(x, y);
context.stroke();
console.log("onTouchMove: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY = " + event.changedTouches[0].clientY);
console.log("onTouchMove: x = " + x + ", y = " + y);
}
}
function onTouchStart(event) {
console.log("onTouchStart: bCalibration = " + bCalibration);
paint = true;
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
context.moveTo(x, y);
console.log("onTouchStart: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY = " + event.changedTouches[0].clientY);
console.log("onTouchStart: x = " + x + ", y = " + y);
}
function onTouchEnd(event) {
console.log("onTouchEnd: bCalibration = " + bCalibration);
paint = false;
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
console.log("onTouchEnd: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY" + event.changedTouches[0].clientX);
console.log("onTouchEnd: x = " + x + ", y = " + y);
console.log("onTouchEnd: aArray[0] = " + aArray[0] + ", aArray[1] = " + aArray[1] + ", aArray[2] = " + aArray[2] + ", aArray[3] = " + aArray[3] + ", aArray[4] = " + aArray[4] + ", aArray[5] = " + aArray[5]);
context.lineTo(x, y);
context.stroke();
}
</script>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<p>
<canvas id="can" width="330" height="450"
style="border: 1px solid black"></canvas>
</p>
<p>
<input type="checkbox" id="cbCalibration" onchange="onChange()" /><label
for="cbCalibration">屏幕校准</label>
</p>
<p>
<input type="button" class="c-btn-oran-big"
style="margin-top: 8px; width: 160px;" id="btnUpload" value="上传到服务器"
size="30" name="btnUpload" /> <input type="button"
class="c-btn-oran-big" style="margin-top: 8px; width: 160px;"
id="btnSave" value="保存到本地" size="30" name="btnSave" />
</p>
<script>
setWrite(false);
var canvas = document.getElementById("can");
var context = canvas.getContext("2d");//获取2D图像API接口
var cbCalibration = document.getElementById("cbCalibration");
canvas.addEventListener('touchmove', onTouchMove, false);
canvas.addEventListener('touchstart', onTouchStart, false);
canvas.addEventListener('touchend', onTouchEnd, false);
function onTouchMove(event) {
console.log("onTouchMove: bCalibration = " + bCalibration);
// 如果这个元素的位置内只有一个手指的话
if (paint) {
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
context.lineTo(x, y);
context.stroke();
console.log("onTouchMove: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY = " + event.changedTouches[0].clientY);
console.log("onTouchMove: x = " + x + ", y = " + y);
}
}
function onTouchStart(event) {
console.log("onTouchStart: bCalibration = " + bCalibration);
paint = true;
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
context.moveTo(x, y);
console.log("onTouchStart: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY = " + event.changedTouches[0].clientY);
console.log("onTouchStart: x = " + x + ", y = " + y);
}
function onTouchEnd(event) {
console.log("onTouchEnd: bCalibration = " + bCalibration);
paint = false;
x = event.changedTouches[0].clientX * aArray[0] + event.changedTouches[0].clientY * aArray[1] + aArray[2];
y = event.changedTouches[0].clientX * aArray[3] + event.changedTouches[0].clientY * aArray[4] + aArray[5];
console.log("onTouchEnd: event.changedTouches[0].clientX = " + event.changedTouches[0].clientX + ", event.changedTouches[0].clientY" + event.changedTouches[0].clientX);
console.log("onTouchEnd: x = " + x + ", y = " + y);
console.log("onTouchEnd: aArray[0] = " + aArray[0] + ", aArray[1] = " + aArray[1] + ", aArray[2] = " + aArray[2] + ", aArray[3] = " + aArray[3] + ", aArray[4] = " + aArray[4] + ", aArray[5] = " + aArray[5]);
context.lineTo(x, y);
context.stroke();
}
</script>
</body>
</html>
相关文章推荐
- Android 之 去除 Jar 包中 META-INF/DEPENDENCIES.txt
- 史上最详细的Android Studio系列教程四--Gradle基础
- Android MediaProvider数据库模式说明
- Android代码混淆
- 将genymotion模拟器集成到androidStudio里面
- Stetho(Facebook出品)---Android调试器的使用
- Android--ViewPager
- Android 常用API总结
- Android Fragment(碎片)的使用
- mac 搭建android studio 开发环境
- Android学习之动画实例
- Android中如何实现蓝牙的配对与连接
- Android 内存泄露的一点个人小见解
- Android thumbnail显示逻辑
- android measure 流程 (方便记忆)
- Android 淡入淡出效果
- Groovy 文件的api扩展 (可用于gradle)
- android native 程序 bus error 案例分析
- android studio 引入arr包的方法
- Android通过代码模拟物理、屏幕点击事件