Notice: Undefined variable: root in /users/basti1012/www/index1.php on line 41
CSS gradient

CSS gradient

Ich möchte ein Farbauswahlfeld (Fabrpicker) zur Verfügung stellen, wo man aus den möglichen TrueColor-Farben eine auswählen kann. In den DIV soll man dann mit der Mau klicken können um die Farbe auszuwählen, die eben an der Stelle ist. Dazu müssen dann die Gradients noch manipuliert werden,damit man alle Farben erhält. Aber das erst der nächste Schritt.

Der hier verwendete Code

<style> *{ margin:0; padding:0; } body,main{ width:300px; } #out{ text-align:center; position:absolute; top:200px; font-size:30px; height:40px; width:300px; } canvas{ height:150px; width:300px; } </style> <body> <div id="out"></div> <main> </main> <script> var x = null; var y = null; var myImg = new Image(); myImg.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'> <foreignObject width='300px' height='300px'> <div style='display:block;margin:0;padding:0;height:150px;width:300px;background: linear-gradient(217deg, rgba(255,0,0,.8), rgba(255,0,0,0) 70.71%),linear-gradient(127deg, rgba(0,255,0,.8), rgba(0,255,0,0) 70.71%),linear-gradient(336deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);' xmlns='http://www.w3.org/1999/xhtml'></div> </foreignObject> </svg>"; var canvas = document.createElement("canvas"); var myContext = canvas.getContext("2d"); myImg.onload = function() { myContext.drawImage(myImg, 0, 0); }; document.getElementsByTagName('main')[0].appendChild(canvas); document.addEventListener('mousemove', function(e){ x = e.pageX; y = e.pageY; const myRGBA_Array = myContext.getImageData(x, y, 1, 1).data; const ou=document.getElementById('out'); const rgb="rgba(" + myRGBA_Array[0] + "," + myRGBA_Array[1] + "," + myRGBA_Array[2] + "," + myRGBA_Array[3] + ")"; ou.innerHTML=rgb; ou.style.background=rgb; }, false); </script> </body>