scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
colorwheel.js
(2043B)
1 $(function(){
2 var bCanPreview = true; // can preview
3
4 // create canvas and context objects
5 var colorpicker = $('#colorpicker-wrapper').find('.colorpicker');
6 var preview = $('#colorpicker-wrapper').find('.preview');
7 var canvas = $('#colorpicker-wrapper').find("#picker");
8
9 var picker = document.getElementById("picker");
10 var ctx;
11 if(typeof picker !== 'undefined' && picker !== null) {
12 ctx = picker.getContext('2d');
13 }
14
15 // drawing active image
16 var image = new Image();
17 image.onload = function () {
18 if(typeof ctx !== 'undefined' && ctx !== null) {
19 ctx.drawImage(image, 0, 0, image.width, image.height); // draw the image on the canvas
20 }
21 }
22
23 // select desired colorwheel
24 var imageSrc = '/img/colorwheel.png';
25 image.crossOrigin='anonymous';
26 image.src = imageSrc;
27
28 canvas.mousemove(function(e) { // mouse move handler
29 if (bCanPreview) {
30 // get coordinates of current position
31 var canvasOffset = $(canvas).offset();
32 var canvasX = Math.floor(e.pageX - canvasOffset.left);
33 var canvasY = Math.floor(e.pageY - canvasOffset.top);
34
35 if(typeof ctx !== 'undefined' && ctx !== null) {
36 // get current pixel
37 var imageData = ctx.getImageData(canvasX, canvasY, 1, 1);
38 var pixel = imageData.data;
39
40 // update preview color
41 var pixelColor = "rgb("+pixel[0]+", "+pixel[1]+", "+pixel[2]+")";
42 preview.css('backgroundColor', pixelColor);
43
44 var dColor = pixel[2] + 256 * pixel[1] + 65536 * pixel[0];
45 $('#colorpicker-wrapper').find('#hexVal').val('#' + ('0000' + dColor.toString(16)).substr(-6));
46 }
47 }
48 });
49 canvas.click(function(e) { // click event handler
50 bCanPreview = !bCanPreview;
51 });
52 preview.click(function(e) { // preview click
53 colorpicker.fadeToggle("fast", "linear");
54 bCanPreview = true;
55 });
56 });