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>

Add Comment

* Required information
1000
Drag & drop images (max 3)
Powered by Commentics

Comments

No comments yet. Be the first!