第46篇白板修复之移动按钮拿掉及橡皮擦可选颜色
来源:互联网 发布:软件使用合同印花税 编辑:程序博客网 时间:2024/04/29 04:08
关键词:移动按钮拿掉,橡皮擦可选颜色
一、插入图片后,再点击移动按钮,出现一个复制的当前白板
1.问题描述
现在移动图片时,它会复制整个画板进行移动。
2.找相关代码
图片移动代码如下:
functiondecorateDragLastPath() {//移动
var point, i,
x = 10,
y= 6,
line= "line",
points= [
[line,x, y, x + 5, y + 27],
[line,x, y, x + 18, y + 19],
[line,x + 17, y + 19, x + 9, y + 20],
[line,x + 9, y + 20, x + 5, y + 27],
[line,x + 16, y + 22, x + 16, y + 31],
[line,x + 12, y + 27, x + 20, y + 27]
],
length= points.length;
for(i = 0; i < length; i++) point = points[i], "line" === point[0];
varcontext = getContext("drag-last-path"),
image= new Image;
image.onload = function() {
context.drawImage(image, 0, 0,40, 40),
bindEvent(context,"DragLastPath")
},
image.src = "/static/img/move.png";
}
注:这段代码不但移动图像,而且移动线条。以上几行标红的代码是原版画图标 用的,现在用图片代替了,所以,没什么用了。
新需求是移动按钮拿掉,修改代码如下:
<canvas id="drag-last-path" width="50"height="40" title="移动"style="display:none;">
</canvas>
拿掉后,如下:
二、记号笔加上并且可以换颜色
1. 记号笔加上之后,如下:
<canvas id="marker-icon" width="60"height="45" title="记号笔"></canvas>
注:加上之后,现在笔还不能调颜色,修改后代码如下:
function decorateMarker() { //记号笔---可选颜色
functionhexToRGBA(h, alpha) {
return"rgba(" + hexToRGB(h).join(",") + "," + alpha +")"
}
functiondoneHandler() {
markerContainer.style.display= "none",
markerLineWidth= strokeStyleText.value,
markerStrokeStyle= hexToRGBA(fillStyleText.value, alpha)
}
varcolors = [
["FFFFFF","006600", "000099", "CC0000","8C4600"],
["CCCCCC","00CC00", "6633CC", "FF0000","B28500"],
["666666","66FFB2", "006DD9", "FF7373","FF9933"],
["333333","26FF26", "6699FF", "CC33FF","FFCC99"],
["000000","CCFF99", "BFDFFF", "FFBFBF", "FFFF33"]
],
context =getContext("marker-icon"),
image= new Image;
image.onload = function() {
context.drawImage(image, 0, 0,40, 40)
// bindEvent(context,"Marker")
},
image.src ="/static/img/eraser.png";
bindEvent(context,"Marker");
varmarkerContainer = find("marker-container"),
strokeStyleText= find("marker-stroke-style"),
markerColorsList= find("marker-colors-list"),
fillStyleText= find("marker-fill-style"),
btnMarkerDone= find("marker-done"),
canvas= context.canvas,
alpha= .2;
markerStrokeStyle= hexToRGBA(fillStyleText.value, alpha);
var html= "";
colors.forEach(function(colorRow){
varrow = "<tr>";
colorRow.forEach(function(color){
row+= '<td style="background-color:#' + color + '" data-color="'+ color + '"></td>'
}),row += "</tr>", html += row
}),markerColorsList.innerHTML = html,Array.prototype.slice.call(markerColorsList.getElementsByTagName("td")).forEach(function(td){
addEvent(td,"mouseover", function() {
varelColor = td.getAttribute("data-color");
fillStyleText.value= elColor
}),addEvent(td, "click", function() {
varelColor = td.getAttribute("data-color");
fillStyleText.value= elColor, doneHandler()
})
}),addEvent(canvas, "click", function() {
hideContainers(),markerContainer.style.display = "block", markerContainer.style.top =canvas.offsetTop + 1 + "px", markerContainer.style.left =canvas.offsetLeft + canvas.clientWidth + "px", fillStyleText.focus()
}),addEvent(btnMarkerDone, "click", doneHandler)
}
注:这样一来,记号笔就变成了橡皮擦,并且可选颜色。
2016年12月29日星期四
- 第46篇白板修复之移动按钮拿掉及橡皮擦可选颜色
- 第45篇 白板bug修复(二)之选择颜色后框不消失
- 第47篇白板修复之铅笔选择三种粗细(一)
- 第48篇白板修复之铅笔选择三种粗细(二)
- 第49篇白板修复之铅笔选择三种粗细(三)
- 第44篇白板bug修复(一)
- 第61篇一对多之老师端私有白板点击上共享白板及老师端学生私有白板加载多次及点头像出私有白板列表周四
- 第7篇白板之图片旋转标记做成箭头(三)及quadraticCurveTo
- 第62篇一对多之学生端修改私有白板并保存及array_shift
- 第57篇一对多实现之私有白板向老师端传图片数据(四)新建一个iframe及成功获取私有白板数据 周日
- 第64篇一对多之学生端修改私有白板并保存(三)及私有白板传到老师端
- 第53篇一对多实现之学生白板传图片到服务器(三)及array_pad
- 第55篇一对多实现之私有白板向老师端传图片数据(二)及array_reduce
- 第59篇老师端私有白板展示(二)老师端私有白板列表显示及列表图片上传到白板 周二
- 第58篇老师端私有白板展示(一)老师端详细建私有白板及PHP array_reverse 周一
- 第71篇一对多之优化实时共享私有白板最后一页(二)添加了一个老师辅导按钮
- 色彩颜色及可选颜色使用分析
- 第56篇一对多实现之私有白板向老师端传图片数据(三)仿制传图片dataURL及array_replace及array_replace_recursive
- H5组件式开发的总体目录
- 750B. New Year and North Pole
- DLL文件应该放在哪里?
- 17 - 01 - 11 计算机网络(01)(概述)
- Android Butterknife黄油刀的配置
- 第46篇白板修复之移动按钮拿掉及橡皮擦可选颜色
- fastreport.net 配置及winform数据源绑定
- 基于MFC的windows窗体编程
- centos 7 kernel编译
- JZOJ 3807. 【NOIP2014模拟8.25】地砖铺设
- float
- 委托 事件 实现观察者模式
- android studio Session 'app': Error Installing APK解决方案
- 简单智能远程控制服务器