Heim > Web-Frontend > H5-Tutorial > Hauptteil

Beispielcode für HTML5-Canvas zur Implementierung der Partikeluhr

青灯夜游
Freigeben: 2018-10-09 15:38:29
nach vorne
1556 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich den Beispielcode von Html5 Canvas zur Implementierung der Partikeluhr vor. Ich hoffe, dass er für Freunde hilfreich ist.

Werfen wir zunächst einen Blick auf die Wirkung der Partikeluhr, wie folgt:

Wir werden sie unten über Canvas und js implementieren

Zuerst müssen wir eine HTML-Datei erstellen und eine Leinwand hinzufügen, wie folgt:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .container{
            margin: 0, auto;
            width: 600px;
            
        }
    </style>
</head>
<body>
    <p id="container">
        <canvas id="canvas"></canvas>
    </p>
</body>
Nach dem Login kopieren

Importieren Sie das unten stehende Material, digit.js. Das Material besteht aus Ziffern durch ein zweidimensionales Array, a Insgesamt: 0-9 und Doppelpunkt, zehn Zeichen, wie folgt:

Sie können sehen, dass die Zeichen von 1 bilden

Beginnen wir mit der Erstellung der Leinwand :

function Clock() {
        var canvas = document.getElementById("canvas");
        canvas.width = 600;
        canvas.height = 100;
        this.cxt = canvas.getContext(&#39;2d&#39;);
        this.cxt.fillStyle="#ddd";
        this.cxt.fillRect(0, 0, 500, 100);
    }
Nach dem Login kopieren

Der obige Code kann sein: Der Browser zeichnet eine kleine graue Leinwand

Beginnen wir mit der Analyse:

1. Verstehen Sie die Datenmatrix? Es ist ein mehrdimensionales Array

2. Wie zeichnet man einen Kreis?


2.1 Müssen Sie zuerst den Radius kennen?

Wie aus der obigen Abbildung ersichtlich ist, sind die Positionen des Kreismittelpunkts:

r+1
r+1 + (r+1)*2*1
r+1 + (r+1)*2*2
。。。
r+1 + (r+1)*2*i
Nach dem Login kopieren

Gleichzeitig kann auch der Radius angegeben werden erhalten Sie, indem Sie die Höhe des Kreises wie folgt berechnen:

Die Höhe eines Kreises beträgt (r+1)*2, und die Höhe der Leinwand besteht aus 10 Kreisen

canvasHeight = (r+1)*2*10
Nach dem Login kopieren

Wenn die Höhe der Leinwand auf 100 eingestellt ist, wird r herauskommen und der Mittelpunkt xy des Kreises wird ebenfalls sein. Kommen Sie heraus und beginnen Sie mit dem Zeichnen eines Kreises

Fügen Sie zunächst eine Anweisung zum obigen Clock-Objekt hinzu, um die Berechnung durchzuführen r

this.r = 100/20-1;
Nach dem Login kopieren

Als nächstes füge ich die Draw-Methode zum Clock-Prototyp hinzu

Clock.prototype.draw = function(num, index) {
        this.cxt.fillStyle="#000";
        for (let i=0; i<digit[num].length; i++) {
            for (let j=0; j<digit[num][i].length; j++) {
                if (digit[num][i][j] == 1) {
                    this.cxt.beginPath();
                    this.cxt.arc(index*70+(this.r+1)+(this.r+1)*2*j, (this.r+1)+(this.r+1)*2*i, this.r, 0, Math.PI*2, false);
                    this.cxt.closePath();
                    this.cxt.fill();
                }
            }
        }
    }
Nach dem Login kopieren

draw Empfängt 2 Parameter, der erste ist der Zeichenindex, der zweite ist die Zeichenoffsetsequenz, 70 ist ein Offset Abstand, der individuell angepasst werden kann.

Das erste for ruft das zu rendernde Zeichenarray ab. Das zweite for nimmt jede Zeile zum Rendern und rendert sie nur als 1. Die Parameter zum Zeichnen eines Kreises sind hauptsächlich x, y, r

Das nächste Der Schritt besteht darin, die Zeit mithilfe regulärer Ausdrücke direkt vom neuen Datum abzurufen:

Clock.prototype.getTime = function() {
        var reg = /(\d)(\d):(\d)(\d):(\d)(\d)/.exec(new Date());
        var data = [];
        data.push(reg[1], reg[2], 10, reg[3], reg[4], 10, reg[5], reg[6]);
        for (var i=0; i<data.length; i++) {
            this.draw(data[i], i);
        }
    }
Nach dem Login kopieren

Wir können die Stunden, Minuten und Sekunden einfach über reguläre Ausdrücke abrufen Beachten Sie das entsprechende Format, wobei 10 das 10. Zeichen in js darstellt, d. h. der Doppelpunkt. Beachten Sie, dass beim Zeichnen ein Problem auftritt, d Dies

canvas.height= 100
Nach dem Login kopieren

und der Code kann unten wie folgt ausgeführt werden:

var clock = new Clock();
setInterval(()=>{
        clock.getTime();
    })
Nach dem Login kopieren

Okay, das ist in Ordnung

Zusammenfassung: Das Obige ist hoffentlich der gesamte Inhalt dieses Artikels Es wird für das Lernen aller hilfreich sein. Weitere verwandte Tutorials finden Sie unter

Html5-Video-Tutorial

! Verwandte Empfehlungen:

PHP-Video-Tutorial zum Gemeinwohltraining

HTML5-Grafik-Tutorial

HTML5 Online-Handbuch

Das obige ist der detaillierte Inhalt vonBeispielcode für HTML5-Canvas zur Implementierung der Partikeluhr. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!