使用 HTML5 canvas制作拾色器

自制的拾色器漂亮吧,哈哈 废话不多说直接上代码,希望可以帮到需要的朋友

<html>
<head>
    <style>
        .canvas_color{position:relative;width: 400px;height: 10px;}
        .canvas_color canvas{ position: absolute; border:0;background-color:‘‘;left:0px; top:0px;width: 400px;height: 10px;}
        .canvas_box{ width:5px; height:17px; background: #000; position: absolute; left:0px; top:-3px;}
    </style>
    <script type="text/javascript" charset="utf-8" src="js/jquery-1.10.2.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/jquery-ui.min.js"></script>
    <script type="text/javascript"></script>
</head>
<body>
<!--canvas画颜色条-->
<div class="canvas_color"><canvas id="colorPicker">
</canvas>
<!--拖拽框-->
<div class="canvas_box"></div>
</div>
<br/>
<div id="textResult">
</div>
<script type="text/javascript">

if(document.createElement("canvas")){
            if(document.getElementById("colorPicker").getContext){
                var can = document.getElementById("colorPicker");
                can.setAttribute("height",5);
                can.setAttribute("width",400);
                var ctx=can.getContext("2d");
                var gradient = ctx.createLinearGradient(0,0,400,10);//创建一个线性渐变。起始坐标为 x1,y1,结束坐标为 x2,y2。
                gradient.addColorStop(0,‘rgb(255,4,0)‘);//向一个渐变添加一个颜色停止。颜色停止(color stop) 是渐变中颜色更改发生的位置。offset 必须介于 0 到 1 之间。
                gradient.addColorStop(0.2,‘rgb(237,181,0)‘);
                gradient.addColorStop(0.4,‘rgb(2,180,56)‘);
                gradient.addColorStop(0.6,‘rgb(0,232,255)‘);
                gradient.addColorStop(0.8,‘rgb(14,0,145)‘);
                gradient.addColorStop(1,‘rgb(255,33,205)‘);
                ctx.fillStyle=gradient;//设置用于填充一个区域的颜色 — 例如,fillStyle=‘rgb(255,0,0)‘.
                ctx.fillRect(0,0,400,10);//填充一个定位于 x 和 y,宽度和高度分别为 w 和 h 的矩形。 .
            }
        }
        $(function(){
            $(‘.canvas_box‘).draggable({
                start: function () { // 拖拽开始

},
                stop:function(e){
                    var x = e.clientX;
                    var y = e.clientY;
                    if(x<0){
                        x=0;
                    }
                    if(x>400){
                        x=399;
                    }
                    var imgData=ctx.getImageData(x,3,2,1);
                   
$html = ‘<span>R:<font
color="aqua">‘+imgData[‘data‘][0]+‘</font>  G:<font
color="aqua">‘+imgData[‘data‘][1]+‘</font>   B:<font
color="aqua">‘+imgData[‘data‘][2]+‘</font></span>‘
                    $(‘#textResult‘).html($html);
                },
                containment: [8, 5, 405, 5]//控制拖动区域范围

})
        })

</script>
</body>
</html>

时间: 2024-10-12 12:41:44

使用 HTML5 canvas制作拾色器的相关文章

如何使用 HTML5 Canvas 制作水波纹效果

原文:如何使用 HTML5 Canvas 制作水波纹效果 今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javascript 就可以创建一个很有趣的解决功能. 在线演示      源码下载 Step 1. HTML 和以前一样,首先是 HTML 代码: <!DOCTYPE html> <html> <head> <meta

Linux下的高级拾色器—Pick

导读 虽然大多数设计师都在使用 Mac,但也有一少部分在使用 Windows 甚至是 Linux 系统.在 Mac 和 Windows 中都有非常丰富的拾色器工具或插件可用,反而在开源界中这类颜色选择工具比较少见.如果你在寻找 Linux 中快捷.简便从屏幕「拾取颜色」的小工具,Pick 肯定会成为我向你推荐的首选. Pick 体积小巧.结构紧凑,而且完全开源,它可以方便地放大屏幕的任何部分,帮助我们快速拾取准确像素,并将颜色值信息复制到剪贴板或其它任意地方.拾取颜色的时间会在左侧将颜色的来源截

jQuery soColorPacker 网页拾色器

未采用生僻的jquery特性,能兼容jquery1.2.6以上所有版本 实例预览 引入文件 <link type="text/css" rel="stylesheet" media="all" href="soColorPacker/css/style.css" /> <script type="text/javascript" src="jquery1.8.0.min.js&q

JavaScript特效实例012-网页拾色器

实例012                             网页拾色器 实例说明 在网站中经常需要用户自定义颜色来显示某些信息.这可以在网页添加一个拾色器来实现. 技术要点 在本实例中仅使用216种浏览器安全的颜色,即所谓的Netscape色块.这216种颜色分别代表0.51.102.153.204这5个颜色值以及每一种原色(即红.绿.蓝).这些十进制数值对应的十六进制数分别为0x00.0x33.0x66.0x99.0xCC和0xFF.在HTML的颜色属性中黑色是#000000,纯红色是

javascript源码之js实现的一个简单的网页拾色器

今天学习了window对象,跟着学习了一个简单的网页拾色器的demo,拿出来和大家分享. 主页面代码: <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>拾色器</title></head><body><h1>网页拾色器</h1>    <scr

Android Studio中如何设置颜色拾色器工具

Android Studio如何设置颜色拾色器工具Color Picker? 你可能下载过一些获取颜色值的一些小工具, 这种方式获取颜色,需要先切换窗口转跳到桌面,然后打开拾色器小工具程序,然后去拾取颜色:你可能也知道Android Studio自带一个颜色拾色器,通过下面这种方式才能找到 ,这种方式获取颜色值限制性很强,需要特定的窗口,需要点击那么一小块颜色才能弹出窗口,才能使用 那有没有更好的方式? 答案是肯定的,不然这些个干嘛~~  不用向上面那样去打开拾色器小工具程序,不用在特定的窗口点

怎样用HTML5 Canvas制作一个简单的游戏

为了让大家清楚HTML5制作游戏的简单流程,所以先了制作一个非常简单的游戏,来看一看这个过程.   游戏非常简单,无非就是英雄抓住怪物就得分,然后游戏重新开始,怪物出现在地图的随机位置,英雄初始化在地图的中间.点击[这里](../simple_canvas_game-master/index.html "simple_canvas_game"),我们可以直接先玩玩这个游戏 ![simple_game](Figure/1_simple_game.png) ## 1. 创建一个Canvas

html5 canvas图片反色

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script> window.onload = function () { var oc = document.getElementById('c1'); var ogc = oc.getContext('2d'); var yimg = new Imag

拾色器

本来想用线程实现的,最终选用了定时器解决 public partial class ColorForm : Form { private int _redValue = 255; private int _greenValue = 255; private int _blueValue = 255; public ColorForm() { InitializeComponent(); InitPanelColor(); panelColor.MouseDown += panelCololr_M