一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

HTML5使用Canvas做一个在线画图程序(支持把画布保存为图像)

时间:2016-01-30 编辑:简简单单 来源:一聚教程网

1,在线画图板的开发
(1)页面加载后,我们取得对象,为它添加一些处理函数,以便处理不同鼠标操作导致的JavaScript事件:onmousedown、onmouseup、onmouseout、onmousemove。
(2)画布上方了两个工具栏可以选择笔画颜色和笔画粗细。点击里面的元素,会调用对应绑定的方法,从而将 strokeStyle 属性设置不同的颜色,或将 lineWidth 属性设置不同的粗细。

在线Demo如下:




  
  Paint
  css">
  

 

  


    - 颜色 -

    红色
    绿色
    蓝色
  

  

    - 粗细 -

    细
    中
    粗
  

  

    
  

  

    - 操作 -

    
    
    

      

      使用右键保存图像 ...
    

  


--- paint.css ---

body {
  background: white;
}
 
.Toolbar {
  float: left;
  font-family: 'Trebuchet MS';
  font-size: 14px;
  font-variant: small-caps;
  text-align: center;
  background: #F2F7FE;
  padding: 10px 15px 3px 10px;
  margin-bottom: 1px;
  margin-right: 1px;
  border: 1px solid #7B899B;
}
 
.Toolbar button {
  padding: 6px;
  margin: 7px 2px;
  font-variant: normal;
  font-size: 12px;
}
 
.CanvasContainer {
  clear: both;
}
 
canvas {
  border: 1px solid #7B899B;
}
 
img {
  padding: 2px;
  border: 2px solid #F2F7FE;
}
 
img:hover {
  border: 2px groove #E4F0FE;
  background: white;
}
 
 
img.Selected {
  border: 2px groove #E4F0FE;
}
 
#savedCopyContainer {
  display: none;
}
 
#savedCopyContainer img {
  
  
}


2,将画布保存为图像

(1)调用的 toDataURL() 方法,可以画布图像数据转换为字符序列并编码为数据URL。
1
var url = canvas.toDataURL();
(2)toDataURL()方法如果不提供参数,得到的将是一个PNG图片。如果想要其他格式的图片,可以传入相应的 MIME 类型。
1
var url = canvas.toDataURL("image/jpeg");
(3)数据URL就是一个以 data:image/png;base64 开头的 base-64 编码的字符串。
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6%2BR8AAAAlElEQVR42oWQQRHEIAxF10ElVAISVgo3bCABCUhYCZWAhEpAQpoD6bzJhNnDO0DyyA8fEXkppXyVCpLViDUfyqVIQN9JFMY637hrlCySFauL21E7KVWbAIGx56rnSLqc5KPXSLo3kySalPhTygFhRDtFC09EIsMeZJSGBj7Qveh3OJW89syImiH%2BIO2BOJX0XwA2%2BQEL4pAhSX4aBQAAAABJRU5ErkJggg%3D%3D

(4)数据URL很适合传输图像,除了可以发送到Web服务器在后台保存下来,也可以作为元素的src属性值显示出来。


// 找到预览的 元素标签
var imageCopy = document.getElementById("savedImageCopy");
// 将画布内容在img元素中显示
imageCopy.src = canvas.toDataURL();

 

 

热门栏目