Come ottenere la posizione del mouse su tela?

Jul 02, 2025

Lasciate un messaggio

Sarah Money
Sarah Money
Manager di sostenibilità presso Shandong Shengrun Textile Co., Ltd. Appassionato di pratiche ecologiche, lavoro per ridurre il nostro impatto ambientale mantenendo al contempo i più alti standard di qualità nella produzione tessile.

Nel mondo dello sviluppo web, l'elemento Canvas HTML5 è emerso come un potente strumento per creare grafica, animazioni e giochi interattivi. Un requisito comune quando si lavora con la tela è ottenere la posizione del mouse rispetto all'area della tela. Ciò consente agli sviluppatori di creare esperienze utente più coinvolgenti e reattive. Come fornitore di tela, capisco l'importanza di questa funzionalità e ti guiderò attraverso il processo in questo post sul blog.

Comprensione delle basi di tela ed eventi del mouse

Prima di immergerci per ottenere la posizione del mouse sulla tela, comprendiamo prima i concetti di base dell'elemento di tela e degli eventi del mouse in JavaScript.

L'elemento Canvas HTML5 fornisce un modo per disegnare la grafica su una pagina Web utilizzando JavaScript. È essenzialmente un'area rettangolare sulla pagina in cui è possibile utilizzare vari metodi di disegno per creare forme, linee, testo e altro ancora. Per iniziare a utilizzare la tela, è necessario creare un<Canvas>Elemento nel tuo file HTML e quindi accedilo utilizzando JavaScript.

<! DocType Html> <html lang = "en"> <head> <meta chatset = "utf-8"> <meta name = "viewport" content = "width = dispositivo-width, iniziale-scala = 1.0"> <title> Posizione del mouse Canvas </title> </head> <body> <canvas id = "mycanvas" width = 800 "". height = "600"> </canvas> <script> const canvas = document.getElementById ('mycanvas'); const ctx = canvas.getContext ('2d'); </script> </body> </html>

Nel codice sopra, creiamo prima un elemento di tela con unidDimycanvase impostare la sua larghezza e altezza. Quindi, nel codice JavaScript, otteniamo un riferimento all'elemento Canvas utilizzandoDocument.getElementByIDe ottenere il suo contesto di disegno 2D usandogetContext ('2D').

Gli eventi del mouse in JavaScript ci consentono di rilevare quando l'utente interagisce con il mouse su una pagina Web. Alcuni eventi comuni del mouse includonomouseown,topo,mousemove, Eclic. Possiamo allegare gli ascoltatori di eventi all'elemento tela per rilevare questi eventi ed eseguire azioni di conseguenza.

Ottenere la posizione del mouse sulla tela

Per ottenere la posizione del mouse sulla tela, dobbiamo calcolare la posizione del mouse rispetto all'angolo in alto a sinistra dell'elemento di tela. La posizione del mouse è generalmente riportata sotto forma di(X, y)coordinate.

Oil Proof Dyed Fabric11241855037_240258807

I seguenti passaggi delineano il processo per ottenere la posizione del mouse sulla tela:

  1. Attacca amousemoveAscoltatore di eventi all'elemento tela: Questo ci consentirà di rilevare quando l'utente sposta il mouse sulla tela.
  2. Ottieni la posizione del mouse rispetto al punto di vista: Possiamo usare ilClientXEClientyProprietà dell'evento del mouse Oggetto per ottenere la posizione del mouse rispetto al punto di vista.
  3. Ottieni la posizione dell'elemento di tela rispetto al punto di vista: Possiamo usare ilgetBoundingClientRect ()Metodo per ottenere la posizione e le dimensioni dell'elemento di tela rispetto al punto di vista.
  4. Calcola la posizione del mouse rispetto alla tela: Sottrai la posizione dell'elemento tela dalla posizione del mouse rispetto alla vista per ottenere la posizione del mouse rispetto alla tela.

Ecco il codice JavaScript per implementare i passaggi sopra:

const canvas = document.getElementById ('myCanvas'); const ctx = canvas.getContext ('2d'); canvas.addeventListener ('MouseMove', function (event) {// Ottieni la posizione del mouse relativo al viewport const mousex = event.clientx; const mousey = event.clienty; // Ottieni la posizione dell'elemento Canvas relativo all'opinione const RECT = canvas.getBoundingClietRect (); const canvasx = RECT. Rect.top;

Nel codice sopra, allegiamo amousemoveAscoltatore di eventi all'elemento tela. All'interno della funzione dell'ascoltatore di eventi, otteniamo prima la posizione del mouse rispetto alla vista utilizzandoevent.clientxEevent.clienty. Quindi, otteniamo la posizione dell'elemento tela rispetto al viewport utilizzandoCanvas.GetBoundingClientRect (). Infine, sottraggiamo la posizione dell'elemento di tela dalla posizione del mouse rispetto alla vista per ottenere la posizione del mouse rispetto alla tela.

Gestire il ridimensionamento e le trasformazioni

In alcuni casi, è possibile applicare il ridimensionamento o le trasformazioni nell'elemento tela. Ciò può influire sul calcolo della posizione del mouse sulla tela. Per gestire il ridimensionamento e le trasformazioni, è necessario tenere conto dell'attuale matrice di trasformazione della tela.

Il seguente codice mostra come gestire il ridimensionamento e le trasformazioni quando si ottiene la posizione del mouse sulla tela:

const canvas = document.getElementById ('myCanvas'); const ctx = canvas.getContext ('2d'); // Applicare una trasformazione di scala sulla tela ctx.scale (2, 2); canvas.addeventListener ('MouseMove', function (event) {// Ottieni la posizione del mouse relativo al viewport const mousex = event.clientx; const mousey = event.clienty; // Ottieni la posizione dell'elemento Canvas relativo all'opinione const RECT = canvas.getBoundingClietRect (); const canvasx = RECT. Rect.top; canvashousey + inversematrix.e;

Nel codice sopra, applichiamo innanzitutto una trasformazione della scala alla tela utilizzandoctx.scale (2, 2). Quindi, quando si ottiene la posizione del mouse sulla tela, calcoliamo l'inverso della matrice di trasformazione corrente utilizzandoctx.getTransform (). invertself (). Infine, applichiamo la trasformazione inversa nella posizione del mouse per ottenere la posizione corretta sulla tela.

Applicazioni pratiche per ottenere la posizione del mouse sulla tela

Ottenere la posizione del mouse sulla tela ha molte applicazioni pratiche nello sviluppo web. Ecco alcuni esempi:

  • Grafica interattiva: È possibile utilizzare la posizione del mouse per creare grafica interattiva, come consentire agli utenti di fare clic su forme o trascinare gli oggetti sulla tela.
  • Giochi: Nei giochi, la posizione del mouse può essere utilizzata per controllare il movimento dei personaggi o per eseguire azioni, come sparare o raccogliere oggetti.
  • Disegnare applicazioni: È possibile utilizzare la posizione del mouse per creare applicazioni di disegno, in cui gli utenti possono disegnare sulla tela spostando il mouse.

I nostri prodotti di tela

Come fornitore di tela, offriamo una vasta gamma di prodotti in tela di alta qualità per varie applicazioni. I nostri prodotti includonoPrezzo economico all'ingrosso 65%poliestere 35%cotone t/c 65/35 tessuto camicia,Tessuto di poliestere e cotone per tenda, ETessuto tinto a prova d'olio. I nostri tessuti in tela sono realizzati con materiali di alta qualità e sono disponibili in una varietà di colori e motivi.

Contattaci per l'acquisto

Se sei interessato ai nostri prodotti di tela o hai domande su come ottenere la posizione del mouse sulla tela, non esitare a contattarci per l'acquisto e ulteriori discussioni. Ci impegniamo a fornirti i migliori prodotti e servizi.

Riferimenti

  • HTML5 Canvas Tutorial: https://developer.mozilla.org/en-us/docs/web/api/canvas_api/tutorial
  • Eventi del mouse JavaScript: https://developer.mozilla.org/en-us/docs/web/api/mouseevent
  • Trasformazioni di Canvas: https://developer.mozilla.org/en-us/docs/web/api/canvasrenderingcontext2d/settransform
Invia la tua richiesta
tu lo sogni, noi lo progettiamo
Shandong Shengrun Tessile Co.,LTD.
contattaci