
jQuery有没办法取到页面上某一像素点的颜色值?
1 coolzjy 2015 年 7 月 1 日 DOM 里面没这种 api jQuery 也没办法 |
2 leojoy710 2015 年 7 月 1 日 dom先转成canvas 然后就能获取颜色了 不过可能dom->canvas这一步会有位置的差异 |
3 Navee 2015 年 7 月 1 日 没有 |
4 zythum 2015 年 7 月 1 日 理论上可以可以。但是比较繁琐。并且逻辑分支非常复杂,还有很多不确定因素。不建议这样搞。你可以换个思路试试。 |
5 bertonzh 2015 年 7 月 1 日 不可行。 单单获取图片像素点这一条,在跨域问题面前就会被毙掉。 |
6 learnshare 2015 年 7 月 1 日 |
7 ghbjy1128 2015 年 7 月 1 日 |
8 otakustay 2015 年 7 月 1 日 特定情况下理论上可以+1,比如整个页面没有跨域资源的话,可以canvas画出来再取点 还请把提这种蛋疼需求的PM砍了 |
9 jugelizi 2015 年 7 月 1 日 显然这个问题就有bug 弹出层背景色怎么算 |
10 guesskiss 2015 年 7 月 1 日 via Android js截屏,再解析该图片像素点 |
11 crs0910 2015 年 7 月 1 日 http://getcolor.coding.io/ canvas搞的 |
12 crs0910 2015 年 7 月 1 日 就是2楼的方法,先算鼠标点的哪个元素,然后算鼠标在元素里面的位置,然后把元素转 canvas ,最后取出 canvas 里面刚刚算的那个坐标的颜色。 |
13 crs0910 2015 年 7 月 1 日 跨域解决看看引入的那个 html2canvas.js 的文档,有解决方法。 |
16 justahappy 2015 年 7 月 1 日 @zythum 理论上可以可以。但是比较繁琐。并且逻辑分支非常复杂,还有很多不确定因素。不建议这样搞。你可以换个思路试试。 多完美的万能回复,假装自己很懂的样子。。。。。。 |
17 crs0910 2015 年 7 月 1 日 @justahappy 有可能是你自己看不懂而已。朱一可能是说获取元素 style 里面有可能涉及到颜色变化的属性值这个思路,因为题主说的是 jquery ,一般思路就是获取元素然后检查 background-color 之类属性,但是这个思路太复杂了,朱一才那么说。 这是我的理解。不喜勿喷。 |
18 zythum 2015 年 7 月 1 日 @crs0910 @justahappy 确实是这样子的。 逻辑大概是找到那个位置有哪些dom叠着。然后通过这个dom的style分析位置是content还是border还是其他什么部分。把透明的滤掉。然后取颜色分析结构是个样式定义的颜色还是backgroundImage或者就是一个image。如果是样式颜色好办,如果图片那么分析图片的设置。把图片下载下来。找到那个点的位置。canvas api有这个。这个操作和用html2canvas是一样的。但是这个操作很难把所有的逻辑都包括进去。特别是一些css3属性什么transform变形什么的。html2canvas一样也是会有问题的。 不确定因素就是如果这个位置不是一个常规dom就不行了。比如embed,object. 中间嵌入flash什么的比如那是个video标签在播放内容什么的。 不知道题主的运用场景时什么。如果可以的话试试用firefox插件开发。firefox插件貌似有domToCanvas的api,具体是哪个忘了。但是朱一记得有。 |
19 bertonzh 2015 年 7 月 1 日 |