HTML5画布颜色选择器
来源:互联网 发布:交易平台网站源码 编辑:程序博客网 时间:2024/04/28 11:04
说明:Mousedown颜色区域选择一个颜色。
<!DOCTYPE HTML><html> <head> <style> body { margin: 0px; padding: 0px; } </style> </head> <body> <canvas id="myCanvas" width="578" height="276"></canvas> <script> function getMousePos(canvas, evt) { var rect = canvas.getBoundingClientRect(); return { x: evt.clientX - rect.left, y: evt.clientY - rect.top }; } function drawColorSquare(canvas, color, imageObj) { var colorSquareSize = 100; var padding = 10; var context = canvas.getContext('2d'); var squareX = (canvas.width - colorSquareSize + imageObj.width) / 2; var squareY = (canvas.height - colorSquareSize) / 2; context.beginPath(); context.fillStyle = color; context.fillRect(squareX, squareY, colorSquareSize, colorSquareSize); context.strokeRect(squareX, squareY, colorSquareSize, colorSquareSize); } function init(imageObj) { var padding = 10; var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); var mouseDown = false; context.strokeStyle = '#444'; context.lineWidth = 2; canvas.addEventListener('mousedown', function() { mouseDown = true; }, false); canvas.addEventListener('mouseup', function() { mouseDown = false; }, false); canvas.addEventListener('mousemove', function(evt) { var mousePos = getMousePos(canvas, evt); var color = undefined; if(mouseDown && mousePos !== null && mousePos.x > padding && mousePos.x < padding + imageObj.width && mousePos.y > padding && mousePos.y < padding + imageObj.height) { // color picker image is 256x256 and is offset by 10px // from top and bottom var imageData = context.getImageData(padding, padding, imageObj.width, imageObj.width); var data = imageData.data; var x = mousePos.x - padding; var y = mousePos.y - padding; var red = data[((imageObj.width * y) + x) * 4]; var green = data[((imageObj.width * y) + x) * 4 + 1]; var blue = data[((imageObj.width * y) + x) * 4 + 2]; var color = 'rgb(' + red + ',' + green + ',' + blue + ')'; drawColorSquare(canvas, color, imageObj); } }, false); context.drawImage(imageObj, padding, padding); drawColorSquare(canvas, 'white', imageObj); } var imageObj = new Image(); imageObj.onload = function() { init(this); }; imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/color-picker.png'; </script> </body></html>
0 0
- HTML5画布颜色选择器
- HTML5画布颜色教程
- HTML5画布文本颜色教程
- html5颜色选择器
- HTML5画布颜色点击修改形状
- HTML5画布灰度图像颜色教程
- HTML5画布转化图像颜色教程
- HTML5新控件 - 颜色选择器
- html5画布
- HTML5画布
- HTML5 画布
- html5画布
- HTML5画布
- HTML5知识点:KineticJS画布设置形状颜色和宽度!
- HTML5特性 > Canvas >画布
- HTML5画布画图实例
- html5画布实例
- HTML5画布kineticjs教程
- codility 在线编程测试
- 动态构建双轴的FLEX报表
- solr基础之shard和zookeeper
- 常用VC插件
- 黑马程序员_面向对象2
- HTML5画布颜色选择器
- Linux环境SVN命令行使用经验总结
- C# 中调用C++ DLL (P/Invoke)
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- 阅读顺序
- nmap中--script功能的使用
- nfc是什么?智能手机上的nfc功能是什么?
- .NET Compact Framework 概述
- IBM Notes/iNotes 9 之 Open Social 新特性