开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2350|回复: 12
收起左侧

[求助] 网页替换 canvas 生成的图片!多谢道友相助!

[复制链接]
结帖率:40% (10/25)
发表于 2018-7-24 17:38:06 | 显示全部楼层 |阅读模式   贵州省安顺市
网页的JS 是
  
//绑定拍照按钮事件
$ (" #capture" ;).on ("click", function () {
context.drawImage (video, 160, 0, 320, 480, 0, 0, 160, 240);
saveImage ();
});
//计算字符串字节数:中文算2个字节
function getBt (str){
var char = str.match (/[^\x00-\xff]/ig);
return str.length + (char == null ? 0 : char.length);
}
//保存图像
function saveImage () {
var canvasData = canvas.toDataURL ("image/png");
var xmlHttpReq = false;
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest ();
}
else if (window.ActiveXObject) {
ajax = new ActiveXObject ("Microsoft.XMLHTTP");
}
ajax.open ( ' POST', 'avatar1', false);
ajax.setRequestHeader ( ' Content-Type', 'application/x-www-form-urlencoded');
ajax.onreadystatechange = function () {
var _data = eval (" (" + ajax.responseText + ")");
if (_data && _data.code == 200) {
$ (" #upload_avator" ;).val ("1");//设置为已经拍摄头像,保存时会判断
$ (" #cavatar" ;).attr ("src", canvas.toDataURL ("image/png"));
}
alert (_data.message);
}
var _sfzmmc = $ (" #sfzmmc" ;).val ();
var _sfzmhm = $ (" #sfzmhm" ;).val ();
var _dabh = $ (" #dabh" ;).val ();
var _xm = $ (" #xm" ;).val ();
//检查证件号码是否超过18字节,头像表xh字段长度
var zjhm = ' ';
if (_sfzmmc!= ' A')
zjhm = _sfzmmc+_sfzmhm;
if (getBt (zjhm)>18){
alert ( ' 证件号码超过最大长度!');
return;
}
ajax.send ("sfzmmc=" + _sfzmmc + "&sfzmhm=" + _sfzmhm + "&xm=" + _xm + "&dabh="+_dabh+"&avatar=" + encodeURIComponent (canvasData));
}
});


现在想 拍照的 函数触发时候  把 var canvasData 的值替换掉



结帖率:40% (10/25)

签到天数: 10 天

 楼主| 发表于 2018-7-25 08:43:06 | 显示全部楼层   贵州省安顺市
没有会吗?
回复 支持 反对

使用道具 举报

结帖率:63% (25/40)
发表于 2018-7-25 09:13:52 | 显示全部楼层   广东省深圳市
=。= 替换什么先。。。。感觉你代码没给全啊。。。你的  var canvasData 在保存图片的那个函数才有i出现。在点击拍照的时候是没有或者东西的。  而是变成了drawimage
回复 支持 反对

使用道具 举报

结帖率:40% (10/25)

签到天数: 10 天

 楼主| 发表于 2018-7-25 10:26:56 | 显示全部楼层   贵州省安顺市
yhooo 发表于 2018-7-25 09:13
=。= 替换什么先。。。。感觉你代码没给全啊。。。你的  var canvasData 在保存图片的那个函数才有i出现。 ...

drawimage 绘制 图片后   var canvasData = canvas.toDataURL ("image/png"); 获得了图像数据 我想 替换
var canvasData 的值
回复 支持 反对

使用道具 举报

结帖率:63% (25/40)
发表于 2018-7-25 10:29:38 | 显示全部楼层   广东省深圳市
lulin155 发表于 2018-7-25 10:26
drawimage 绘制 图片后   var canvasData = canvas.toDataURL ("image/png"); 获得了图像数据 我想 替换
...

那你在保存图片那里直接将canvasData定义的值改成你要的就好了=。=
回复 支持 反对

使用道具 举报

结帖率:63% (25/40)
发表于 2018-7-25 10:30:24 | 显示全部楼层   广东省深圳市
lulin155 发表于 2018-7-25 10:26
drawimage 绘制 图片后   var canvasData = canvas.toDataURL ("image/png"); 获得了图像数据 我想 替换
...

var canvasData = canvas.toDataURL ("image/png");   这句是将canvas.toDataURL ("image/png");赋值给canvasData  如果你要替换值,直接将canvas.toDataURL ("image/png");这个改成你要的就行了
回复 支持 反对

使用道具 举报

结帖率:40% (10/25)

签到天数: 10 天

 楼主| 发表于 2018-7-25 10:38:16 | 显示全部楼层   贵州省安顺市
yhooo 发表于 2018-7-25 10:30
var canvasData = canvas.toDataURL ("image/png");   这句是将canvas.toDataURL ("image/png");赋值给ca ...

我是想问 用E语言 怎么替换  代码是扒的其他网站的代码  就是E语言修改拦截 修改JS
回复 支持 反对

使用道具 举报

结帖率:63% (25/40)
发表于 2018-7-25 10:49:10 | 显示全部楼层   广东省深圳市
lulin155 发表于 2018-7-25 10:38
我是想问 用E语言 怎么替换  代码是扒的其他网站的代码  就是E语言修改拦截 修改JS

=。=那这就不是问答区能实现的了。这些都是大佬定制区的功能了 你要拦截然后修改重新提交你修改后的JS。。。。这 = =  尴尬了
回复 支持 反对

使用道具 举报

结帖率:40% (10/25)

签到天数: 10 天

 楼主| 发表于 2018-7-25 10:51:51 | 显示全部楼层   贵州省安顺市
yhooo 发表于 2018-7-25 10:49
=。=那这就不是问答区能实现的了。这些都是大佬定制区的功能了 你要拦截然后修改重新提交你修改后的JS。 ...

我是替换成功了 最后卡在 浏览器 按钮保存一会没反应一会有反应! ~!
回复 支持 反对

使用道具 举报

结帖率:63% (25/40)
发表于 2018-7-25 11:03:27 | 显示全部楼层   广东省深圳市
lulin155 发表于 2018-7-25 10:51
我是替换成功了 最后卡在 浏览器 按钮保存一会没反应一会有反应! ~!

如果你是在线替换,那逻辑应该是先拦截他的调用JS的链接,接着把内容替换了在给他继续调用,这样就有可能造成JS没读完而引起的卡顿,如果是这样的话你看能不能把JS保存在本地,然后改完之后,把HTML代码里调用服务器JS的文件地址替换成你本地的地址。这样试试看
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表