getcanvaspixelcolor.js是一段轻量级的脚本,通过此脚本可以很容易的获得canvas中指定像素点的颜色,支持自动计算rgba、十六进制格式的颜色。
说明:不支持IE8等低版本浏览器,Chrome本地预览会出现canvas跨域问题,需要在服务端运行
用法:
1.首先引入getcanvaspixelcolor.js(说明:文件中的代码可以提取出来使用),当然页面上还要有canvas,如:
<canvas id="myCanvas" width="400px" height="400px"></canvas> <script src="getcanvaspixelcolor.js" type="text/javascript"></script>
说明:代码本身不需要依赖jQuery,demo中引入jQuery是为了其它需要。
2.运行[Canvas元素].getPixelColor([像素点X位置], [像素点Y位置])会返回一个option,其中记录着相应的颜色值,如:
var colorData = document.getElementById("myCanvas").getPixelColor(150, 200);
3.第2步返回的option中包含rgba、rgb、hex、r、g、b、a七个值,分别为:
rgba:取得rgba()格式的颜色,如rgba(204,173,191,0.7)
rgb:取得rgb()格式的颜色,如rgba(204,173,191)
hex:取得十六进制格式的颜色,如#CCADBF
r:只获取颜色的红色(red)值,如204
g:只获取颜色的绿色(green)值,如173
b:只获取颜色的蓝色(blue)值,如191
a:只获取颜色的透明度(alpha)值,如0.7
取值示例:
var rgbaColor = document.getElementById("myCanvas").getPixelColor(150, 200).rgba;//rgba
或
var colorData = document.getElementById("myCanvas").getPixelColor(150, 200); var rgbaColor = colorData.rgba;//获得rgba颜色 var hexColor = colorData.hex;//获得十六进制颜色