Heim > Artikel > Web-Frontend > Wie erhalte ich den RGB-Wert eines Pixels unter der Maus auf einer Leinwand?
Pixelfarbe unter Maus auf Leinwand mit Mousemove abrufen
In Webanwendungen ist es oft nützlich, den RGB-Wert des Pixels direkt zu erhalten unter dem Mauszeiger, wenn er mit einem Canvas-Element interagiert. So erreichen Sie dies in JavaScript:
Beispiel:
Bedenken Sie diesen HTML-Code:
<code class="html"><canvas id="canvas" width="200" height="200"></canvas> <div id="color-value"></div></code>
Und den folgenden JavaScript-Code:
<code class="js">const canvas = document.getElementById("canvas"); const context = canvas.getContext("2d"); // Set up an image on the canvas const img = new Image(); img.src = "path/to/image.jpg"; img.onload = function() { context.drawImage(img, 0, 0); }; // Add event listener for mouse movement canvas.addEventListener("mousemove", (e) => { const rect = canvas.getBoundingClientRect(); const x = e.clientX - rect.left; const y = e.clientY - rect.top; const pixelData = context.getImageData(x, y, 1, 1).data; const r = pixelData[0]; const g = pixelData[1]; const b = pixelData[2]; document.getElementById("color-value").innerHTML = `RGB: ${r}, ${g}, ${b}`; });</code>
In diesem Beispiel wird die Methode drawImage verwendet, um ein Bild auf der Leinwand anzuzeigen. Wenn sich die Maus über die Leinwand bewegt, erfasst der Mousemove-Ereignis-Listener die aktuelle Mausposition und berechnet die Pixelkoordinaten innerhalb der Leinwand mithilfe der Funktion getBoundingClientRect. Anschließend werden die Pixeldaten mit der getImageData-Methode abgerufen und die RGB-Werte im Farbwert-Div angezeigt.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie erhalte ich den RGB-Wert eines Pixels unter der Maus auf einer Leinwand?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!