骨刻文字数字化识别5


一、(续)图片裁剪功能实现

关于如何得到裁剪区域,经过查找资料,得到:
可以用一个position:absolute的div框来选择裁剪区域,通过javascript提供的方法能得到该div在canvas中所处的位置(x,y),然后用getImageData(srcX,srcY,width,height)得到选择框中的像素点。 这里需要知道,通过canvas.getBoundingClientRect().left和canvas.getBoundingClientRect().top可以得到canvas相对于浏览器视图的左边和上边位置。

 var canvas2 = document.createElement("canvas")
39     var cxt2=canvas2.getContext("2d")
40     img.onload = function(){
41         cxt1.drawImage(img,0,0,canvas1.width,canvas1.height);
42         var dataImg = cxt1.getImageData(srcX,srcY,sWidth,sHeight)
43         canvas2.width = sWidth;
44         canvas2.height = sHeight;
45         cxt2.putImageData(dataImg,0,0,0,0,canvas2.width,canvas2.height)

二、显示裁剪后的区域

这里可以创建一个canvas2,用canvas2.putImageData(imgData,0,0,canvas2.width,canvas2.height)将选择框里的像素绘制到这个临时的canvas2里。然后用canvas2.toDataURL(“image/png”)将canvas2转为dataurl类型的图片。有了dataurl后,就可以正常显示裁剪后的图片了。

var canvas2 = document.createElement("canvas")
39     var cxt2=canvas2.getContext("2d")
40     img.onload = function(){
41         cxt1.drawImage(img,0,0,canvas1.width,canvas1.height);
42         var dataImg = cxt1.getImageData(srcX,srcY,sWidth,sHeight)
43         canvas2.width = sWidth;
44         canvas2.height = sHeight;
45         cxt2.putImageData(dataImg,0,0,0,0,canvas2.width,canvas2.height)
46         var img2 = canvas2.toDataURL("image/png");
47 
48         var cxt3=canvas3.getContext("2d")
49         var img3 = new Image();
50         img3.src = img2;
51         img3.onload  = function(){
52             cxt3.drawImage(img3,0,0,canvas3.width,canvas3.height)
53         }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值