|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Felsökning
  • Datorvirus
  • konvertera filer
  • laptop Support
  • laptop Felsökning
  • PC Support
  • PC Felsökning
  • lösenord
  • Felsökning datafel
  • Avinstallera Hardware & Software
  • Google
  • VPN
  • Videos
  • AI
  • ChatGPT
  • OpenAI
  • Gemini
  • Browser
  • * Dator Kunskap >> Felsökning >> PC Felsökning >> Content

    Hur man skapar analog klocka med HTML5 Canvas?

    Att skapa en analog klocka med HTML5-duk innebär följande steg:

    1. Skapa en canvas:

    - Börja med att skapa ett HTML5 canvaselement. Du kan göra detta genom att lägga till följande kod i ditt HTML-dokument:

    ```html

    ```

    2. Hämta Canvas-kontexten:

    - Därefter måste du få tag i dukens sammanhang, vilket gör att du kan rita på duken. Du kan använda metoden `getContext()` för att göra det.

    ```javascript

    var canvas =document.getElementById("klocka");

    var ctx =canvas.getContext("2d");

    ```

    3. Rita urtavlan:

    - Börja rita urtavlan genom att ställa in fyllningsstilen och linjebredden. Rita sedan en cirkel för urtavlan.

    ```javascript

    // Ställ in fyllningsstil och linjebredd

    ctx.fillStyle ="vit";

    ctx.strokeStyle ="svart";

    ctx.lineWidth =10;

    // Rita urtavlan

    ctx.beginPath();

    ctx.arc(200, 200, 150, 0, 2 * Math.PI);

    ctx.fill();

    ctx.stroke();

    ```

    4. Lägg till klocknummer:

    - Därefter måste du lägga till siffror dygnet runt. Du kan göra detta genom att använda metoden `fillText()`.

    ```javascript

    // Ställ in teckensnitt och textjustering

    ctx.font ="fet 20px Arial";

    ctx.textAlign ="center";

    // Lägg till klocksiffrorna

    för (var i =1; i <=12; i++) {

    var vinkel =(i * 30) * Math.PI / 180;

    var x =200 + Math.cos(angle) * 130;

    var y =200 + Math.sin(vinkel) * 130;

    ctx.fillText(i, x, y);

    }

    ```

    5. Rita klockvisare:

    - För att rita klockvisarna måste du beräkna vinklarna och längderna baserat på den aktuella tiden.

    ```javascript

    // Hämta aktuell tid

    var date =new Date();

    var timmar =date.getHours();

    var minuter =date.getMinutes();

    var sekunder =date.getSeconds();

    // Beräkna vinklarna och längderna på händerna

    var hourAngle =(timmar % 12 + minuter / 60) * 30 * Math.PI / 180;

    var minuteAngle =(minuter + sekunder / 60) * 6 * Math.PI / 180;

    var secondAngle =(sekunder) * 6 * Math.PI / 180;

    var hourHandLength =80;

    var minuteHandLength =120;

    var secondHandLength =140;

    // Rita timvisaren

    ctx.beginPath();

    ctx.moveTo(200, 200);

    ctx.lineTo(

    200 + Math.cos(hourAngle) * hourHandLength,

    200 + Math.sin(hourAngle) * hourHandLength

    );

    ctx.stroke();

    // Rita minutvisaren

    ctx.beginPath();

    ctx.moveTo(200, 200);

    ctx.lineTo(

    200 + Math.cos(minuteAngle) * minuteHandLength,

    200 + Math.sin(minuteAngle) * minuteHandLength

    );

    ctx.stroke();

    // Rita sekundvisaren

    ctx.beginPath();

    ctx.moveTo(200, 200);

    ctx.lineTo(

    200 + Math.cos(secondAngle) * secondHandLength,

    200 + Math.sin(secondAngle) * secondHandLength

    );

    ctx.stroke();

    ```

    6. Animera klockan:

    - För att animera klockan kan du använda funktionen `setInterval()` för att uppdatera klockvisarnas positioner varje sekund.

    ```javascript

    // Uppdatera klockan varje sekund

    setInterval(function() {

    // Hämta aktuell tid

    var date =new Date();

    var timmar =date.getHours();

    var minuter =date.getMinutes();

    var sekunder =date.getSeconds();

    // Beräkna vinklarna och längderna på händerna

    var hourAngle =(timmar % 12 + minuter / 60) * 30 * Math.PI / 180;

    var minuteAngle =(minuter + sekunder / 60) * 6 * Math.PI / 180;

    var secondAngle =(sekunder) * 6 * Math.PI / 180;

    // Rita klockvisarna

    ctx.clearRect(0, 0, 400, 400); // Rensa duken

    drawClockFace(); // Rita urtavlan

    addClockNumbers(); // Lägg till klocknummer

    drawClockHands(hourAngle, minuteAngle, secondAngle); // Rita klockvisarna

    }, 1000); // Uppdatera klockan var 1000:e millisekund (1 sekund)

    ```

    Denna kod kommer att skapa en funktionell analog klocka som uppdateras i realtid. Du kan anpassa urtavlans färger, typsnitt och visarlängder för att skapa olika design.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Har du någonsin undrat hur det är att bli headhuntad …
    ·Så här åtgärdar du felet att inte ansluta till Stea…
    ·Brother ordbehandlare Instruktioner
    ·Hur man tar bort och tar bort alla vänner på PS4
    ·MS Paint Låta inte mig att använda vissa färger
    ·Så spelar Diablo 2 i High Res
    ·Hur lägger man till Vertical Image Flip Widget i Weebl…
    ·Så här hittar du serienumret på din ringdörrklocka
    ·Hur man skickar GIF-filer i Microsoft Outlook och Gmail…
    ·Vad betyder Quick Add i Snapchat?
    Utvalda artiklarna
    ·Hur konvertera en MWA till en MP3 -fil
    ·Hur konverterar jag M4A till en ljud-CD
    ·Hur konvertera en 3GP
    ·Hur fixar Ljudet på min Audio
    ·Hard Drive Data Recovery & Damage Repair
    ·Hur man fixar Xbox One fortsätter att logga ut mig
    ·Hur fixar webbplats fel
    ·Guiding Tech - Hur man artiklar, köpguider för prylar…
    ·Så här ändrar du konton på din Google Home
    ·Avancerade steg för att påskynda Windows XP
    Copyright © Dator Kunskap http://www.dator.xyz