html5实现简单的颜色拾取
来源:互联网 发布:psd字体源码 编辑:程序博客网 时间:2024/06/18 06:23
注意,只有将例子传上web服务器或者本地开发环境才能看见效果。因为图像和控制画布不在同一个位置,画布对于这个图像的访问将会受到严格的限制。
本例子使用了jquery框架
getColor函数可以传1-6个参数
html:
<!DOCTYPE html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>颜色拾取</title><script type="text/javascript" src="jquery-1.5.2.min.js"></script><script type="text/javascript" src="js/getColor.js"></script><script type="text/javascript" >$(document).ready(function(){var canvas=$("#myCanvas");//getColor(canvas);//getColor(canvas,"img/example.jpg",200);getColor(canvas,"img/example.jpg",0,30,200,200);});</script><link type="text/css" rel="stylesheet" href="css/test.css"></head><body><canvas id="myCanvas" ></canvas></body></html>
css:
@charset "utf-8";/* CSS Document */*{margin:0;padding:0;}html,body{height:100%;width:100%;}canvas{display:block;}
js:
// JavaScript Document/*创建颜色拾取器mycanvas 画布id;imgx,imgy 指定图像在画布上的位置;imgs 图像imgwidth,imgheight 图像大小*/function getColor(){var canvas=arguments[0];var ctx=canvas.get(0).getContext("2d");var img=new Image();img.src=arguments[1];var imgX=arguments[2];var imgY=arguments[3];var imgWidth=arguments[4];var imgHeight=arguments[5]//alert(arguments[4]);if(arguments.length==1){img.src="img/example.jpg";$(img).load(function(){ctx.drawImage(img,0,0);/*相对画布的位置坐标*/ });}else if(arguments.length==2){$(img).load(function(){ctx.drawImage(img,0,0);/*相对画布的位置坐标*/ });}else if(arguments.length==3){$(img).load(function(){ctx.drawImage(img,imgX,0);/*相对画布的位置坐标*/ });}else if(arguments.length==4){$(img).load(function(){ctx.drawImage(img,imgX,imgY);/*相对画布的位置坐标*/ });}else if(arguments.length==5){$(img).load(function(){ctx.drawImage(img,imgX,imgY,imgWidth,img.width);/*相对画布的位置坐标*/ });}else if(arguments.length==6){$(img).load(function(){ctx.drawImage(img,imgX,imgY,imgWidth,imgHeight);/*相对画布的位置坐标*/ });} canvas.click(function(e){var canvasOffset=canvas.offset();/*获取画布与浏览器窗口顶部和左边的像素*/var canvasX=Math.floor(e.pageX-canvasOffset.left);var canvasY=Math.floor(e.pageY-canvasOffset.top);var imgData=ctx.getImageData(canvasX,canvasY,1,1);var pixel=imgData.data;/*存储颜色的数组*/var pixelColor="rgba("+pixel[0]+","+pixel[1]+","+pixel[2]+","+pixel[3]+")";$("body").css("backgroundColor",pixelColor);})}
- html5实现简单的颜色拾取
- 一个简单的颜色拾取器
- html5 Canvas制作的网页颜色拾取器
- 颜色拾取
- 一个实用的颜色拾取器
- 安卓Palette(颜色拾取)的使用
- 拾取操作的实现[OpenGL]
- 颜色条的简单实现
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- 射线的原理用法以及一个利用射线实现简单拾取的小例子
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- Unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- OGRE最简单的射线拾取详解
- OGRE最简单的射线拾取详解
- OGRE最简单的射线拾取详解
- Unity3D之简单的点击拾取
- iOS内存泄露查处
- 基于 HTTP 长连接的“服务器推”技术
- 为什么equals()方法和hashCode()方法需要同时重写?
- Sicily 1239.Smallest Differencev
- 9个免费开源的bug追踪软件
- html5实现简单的颜色拾取
- 浅谈C++类的内联成员函数应放在那个文件
- java中Return有什么特点?
- Extjs4.0中无法使用Ext.tree.TreeNode么
- wlan驱动的代码总结
- Qt纠错记录
- Gerrit审核流程
- 字节流和字符流的区别是什么?
- [题目]build the broken stacks