⊗jsSpCnvLn 262 of 294 menu

Viivojen piirtäminen canvasin avulla JavaScriptillä

Aloitetaan yksinkertaisesta - viivojen piirtämisestä. Ymmärtääksesi kuinka se tehdään, kuvittele, että sinulla on paperiarkki ja kynä. Voit piirtää tälle paperille, tai voit siirtää kynää haluttuun kohtaan piirtämättä.

JavaScript toimii samalla tavalla: sillä on kynä (tai piirtokynä), ja voit siirtää sitä haluttuun paikkaan käyttämällä metodia moveTo, ja piirtää - käyttämällä metodia lineTo.

Molemmat metodit ottavat parametreina pisteen, johon kynän kärki siirretään - ensimmäinen parametri on x-koordinaatti ja toinen on y-koordinaatti. Koordinaattien origo - piste 0, 0 - on elementin vasen yläkulma.

Kun kynä siirretään haluttuun pisteeseen - metodi moveTo vain siirtää, kun taas lineTo piirtää siirron aikana viivan kynän nykyisestä sijainnista pisteeseen, johon se siirtyy.

Kuitenkin, jos yllä oleva koodi suoritetaan - mitään ei tapahdu: on kirjoitettava kaksi komentoa lisää: ensimmäinen komento beginPath tulee antaa ennen viivan piirtämisen aloittamista, ja toinen komento stroke tulee kutsua kaikkien moveTo ja lineTo -yhdistelmien jälkeen, jotta viiva piirtyy.

Joten, kirjoitetaan toimiva koodi viivan piirtämiseksi:

Piirretään viiva

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(150, 50); ctx.stroke();

:

Piirretään lintu

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(100, 100); ctx.lineTo(150, 50); ctx.stroke();

:

Piirretään kolmio

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(100, 100); ctx.lineTo(150, 50); ctx.lineTo(50, 50); ctx.stroke();

:

Piirretään neliö

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(150, 50); ctx.lineTo(150, 150); ctx.lineTo(50, 150); ctx.closePath(); ctx.stroke();

:

Kuvioiden sulkeminen

Suljetun kuvion piirtämiseen ei ole välttämätöntä piirtää kaikkia viivoja - viimeinen viiva voidaan piirtää automaattisesti ja sulkea kuvio. Tätä varten tulee ennen metodia stroke kutsua metodia closePath.

Tämä metodi yrittää sulkea kuvion piirtämällä suoran viivan loppupisteestä alkupisteeseen. Jos kuvio on jo suljettu tai on vain yksittäinen piste, metodi ei tee mitään.

Piirretään kolmio käyttämällä closePath:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(100, 100); ctx.lineTo(150, 50); //ctx.lineTo(50, 50); - jätämme tämän vaiheen pois ctx.closePath(); ctx.stroke();

:

Kuvioiden täyttäminen

Metodin stroke sijasta voidaan käyttää metodia fill - tällöin kuvion ei välttämättä tarvitse olla täysin suljettu - se täytetään myös näin:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(50, 50); ctx.lineTo(100, 100); ctx.lineTo(150, 50); //ctx.lineTo(50, 50); - jätämme tämän vaiheen pois //ctx.closePath(); - ja tämän myös ctx.fill();

:

Käytännön tehtävät

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää