A canvas rajzokhoz, JavaScript társfüggvények nagy csoportja áll rendelkezésre.
Példák:
Rajz teszt.
<canvas id="rajz01" width="150" height="150" style="border:2px solid lime"></canvas> <script> var id = document.getElementById('rajz01'); var rajz = id.getContext('2d'); Ide írjuk, vagy másoljuk be, a rajzok felett látható, meghatározásokat. </script> | |||
rajz.fillRect(20, 20, 100, 100); |
rajz.fillStyle = "rgb(0, 160, 230)"; rajz.fillRect(20, 20, 100, 100); |
rajz.lineWidth = 2; rajz.strokeStyle = "rgb(0, 0, 250)"; rajz.strokeRect(20, 20, 100, 100); |
rajz.lineWidth = 2; rajz.strokeStyle = "rgb(0, 0, 250)"; rajz.strokeRect(20, 20, 100, 100); rajz.fillStyle = "rgba(0, 160, 230, 0.75)"; rajz.fillRect(40, 40, 100, 100); |
rajz.beginPath(); rajz.fillStyle = 'teal'; rajz.fillRect(20, 20, 100, 100); rajz.lineWidth = 5; rajz.strokeStyle = 'red'; rajz.strokeRect(20, 20, 100, 100); |
rajz.fillStyle = "teal"; rajz.fillRect(20,20, 100,100); rajz.lineWidth = 5; rajz.strokeStyle = "red"; rajz.strokeRect(20,20, 100, 100); rajz.clearRect(40, 40, 100, 35); |
<head> <style type="text/css"> #rajzvaszon{border: 10px outset green; background-color: yellow;} </style> </head> <body> <canvas id="rajzvaszon" width="300" height="450"></canvas> <script> var id = document.getElementById('rajzvaszon'); var negyszog = id.getContext('2d'); // Első derékszögű négyzet vagy téglalap, háttérszíne alapértelmezett, fekete. negyszog.fillRect(20, 20, 100, 100); // Második derékszögű négyzet vagy téglalap, háttérszíne világoskék. negyszog.fillStyle = "rgb(0, 160, 230)"; negyszog.fillRect(130, 20, 100, 100); // Harmadik derékszögű négyzet vagy téglalap, keret(border):vastagsága 4px; színe kék. negyszog.lineWidth = 4; negyszog.strokeStyle = "rgb(0, 0, 250)"; negyszog.strokeRect(20, 150, 100, 100); // Negyedik derékszögű négyzet vagy téglalap, keret(border):vastagsága 4px; színe kék. negyszog.lineWidth = 4; negyszog.strokeStyle = "rgb(0, 0, 250)"; negyszog.strokeRect(130, 150, 100, 100); // Ötödik derékszögű négyzet vagy téglalap, háttérszíne világoskék, és átláthatósági értéke = 0.75 negyszog.fillStyle = "rgba(0, 160, 230, 0.75)"; negyszog.fillRect(150, 170, 100, 100); // Hatodik négyszög, háttérszíne piros negyszog.beginPath(); negyszog.rect(20, 300, 150, 100); negyszog.fillStyle = "red"; negyszog.fill(); // Hetedik négyszög, háttérszíne kék negyszog.beginPath(); negyszog.rect(40, 320, 150, 100); negyszog.fillStyle = "blue"; negyszog.fill(); </script> </body> |
Rajz kezdete: beginPath() Rajz vége: closePath() Egyenes vonalak rajzolását, a következő módon tehetjük: moveTo (x,y) - A ceruzát a megadott kezdőpontba mozgatja. lineTo (x,y) - A megadott végpontig vonalat húz. stroke(), összeköti a megadott pozíciókat, vagy fill(), kitölti a megrajzolt formát. strokeStyle, (rgb) keretszínt vagy (rgba) színátmenet, láthatósági tulajdonságot határozhatunk meg. fillStyle, (rgb) háttérszínt vagy (rgba) színátmenet, láthatósági tulajdonságot határozhatunk meg.
Vonalak: | <canvas id="myVonal" width="300" height="150" style="border:1px solid #d3d3d3;"> Az Ön böngészője, nem támogatja a HTML5 vászoncímkét.</canvas> <script> var id = document.getElementById("myVonal"); var rajz = id.getContext("2d"); rajz.beginPath(); rajz.lineWidth=3; // Vonal vastagság. rajz.moveTo(20, 20); // Első vonal, kezdő pozíciója. rajz.lineTo(20, 100); // Első vonal, vég pozíciója. rajz.moveTo(40, 20); // Második vonal, kezdő pozíciója. rajz.lineTo(40, 100); // Második vonal, vég pozíciója. rajz.closePath() rajz.strokeStyle = "red"; // Vonalak színe, piros. rajz.stroke(); rajz.beginPath(); rajz.moveTo(50, 50); // Harmadik vonal, kezdő pozíciója. rajz.lineTo(150, 50); // Harmadik vonal, vég pozíciója. rajz.moveTo(50, 70); // Negyedik vonal, kezdő pozíciója. rajz.lineTo(150, 70); // Negyedik vonal, vég pozíciója. rajz.strokeStyle = "blue"; // Vonalak színe, kék. rajz.stroke(); </script> |
Derékszög: | <canvas id="derekszog" width="300" height="150" style="border:1px solid #d3d3d3;"> Az Ön böngészője, nem támogatja a HTML5 vászoncímkét.</canvas> <script> var id = document.getElementById("derekszog"); var rajz = id.getContext("2d"); rajz.beginPath(); /* Rajz kezdete.*/ rajz.moveTo(20, 20); /* Kezdő pozíció.*/ rajz.lineTo(20, 100); rajz.lineTo(70, 100); rajz.strokeStyle = "red"; /* Vonal színe.*/ rajz.stroke(); </script> |
Tetszőleges háromszög: |
<canvas id="haromszog" width="300" height="300" style="border:1px solid lime;"> Az Ön böngészője, nem támogatja a HTML5 vászoncímkét.</canvas> <script> var hszog = document.getElementById('haromszog'); var rajz = hszog.getContext('2d'); rajz.lineWidth=5; /* Vonal vastagsága.*/ rajz.beginPath(); /* Rajz kezdete.*/ rajz.moveTo(20, 20); /* Kezdő pozíció.*/ rajz.lineTo(20, 100); rajz.lineTo(70, 100); rajz.strokeStyle = "red"; /* Vonal (border) színe. */ rajz.closePath(); /* Rajz vége. */ rajz.stroke(); /* Összeköti a megadott pozíciókat. */ /* rajz.fill(); */ /* Ha engedélyezzük, kitölti a megrajzolt formát. */ </script> |
Tetszőleges négyszög. |
<canvas id="tnegyszog" width="300" height="300"> Az Ön böngészője, nem támogatja a HTML5 vászoncímkét.</canvas> <script> var nszog = document.getElementById('tnegyszog'); var rajz = nszog.getContext('2d'); rajz.lineWidth=5; /* Vonal vastagsága.*/ rajz.beginPath(); /* Rajz kezdete.*/ rajz.moveTo(20, 20); /* Kezdő pozíció.*/ rajz.lineTo(50,100); rajz.lineTo(200,100); rajz.lineTo(100, 20); rajz.closePath(); /* Rajz vége. */ rajz.stroke(); /* Összeköti a megadott pozíciókat. */ /* rajz.fill(); */ /* Ha engedélyezzük, kitölti a megrajzolt formát. */ </script> |
Tetszőleges sokszög: |
<canvas id="sokszog" width="300" height="300" style="border:1px solid lime;"> Az Ön böngészője, nem támogatja a HTML5 vászoncímkét.</canvas> <script> var sszog = document.getElementById('sokszog'); var rajz = sszog.getContext('2d'); rajz.lineWidth=5; /* Vonal vastagsága.*/ rajz.beginPath(); /* Rajz kezdete.*/ rajz.moveTo(80, 20); /* Kezdő pozíció.*/ rajz.lineTo(20, 80); rajz.lineTo(20, 160); rajz.lineTo(80, 220); rajz.lineTo(160, 220); rajz.lineTo(220, 160); rajz.lineTo(220, 80); rajz.lineTo(160, 20); rajz.closePath(); /* Rajz vége. */ rajz.stroke(); /* Összeköti a megadott pozíciókat. */ /* rajz.fill(); */ /* Ha engedélyezzük, kitölti a megrajzolt formát. */ </script> |
Tipp, a rajzok elkészítéséhez: |
1. <head> <style type="text/css"> .pxracs{ padding-top:16px; padding-left:25px; background: url(pxracsozat.jpg); } </style> </head> <body> <div class="pxracs" style="width:350px; height:350px;"> <canvas id="sokszograjz" width="300" height="300" style="border:1px solid blue;"></canvas> </div> <script> var sszog = document.getElementById('sokszograjz'); var rajz = sszog.getContext('2d'); rajz.lineWidth=3; rajz.beginPath(); rajz.moveTo(80, 20); rajz.lineTo(20, 80); rajz.lineTo(20, 160); rajz.lineTo(80, 220); rajz.lineTo(160, 220); rajz.lineTo(220, 160); rajz.lineTo(220, 80); rajz.lineTo(160, 20); rajz.closePath(); rajz.stroke(); /*rajz.fill();*/ </script> |
<canvas id="Tszog" width="320" height="280" style="border:2px solid blue"> <script> var id = document.getElementById('Tszog'); var tsszog = id.getContext('2d'); var szogek = 6; // Szögek számának meghatározása. (háromszög=3; négyszög=4; ötszög=5; stb.) var meret = 100; // Azon kör sugara, mely minden sarkot (szöget) érint. ( Mérete, meghatározza alakzat nagyságát.) // Kör központjának (center), left és top értékei. var LeftC = 140; // let center. ( Vízszintes mozgatáshoz.) var TopC = 120; // top center. ( Függőleges mozgatáshoz.) tsszog.beginPath(); // Rajz kezdete. tsszog.moveTo ( LeftC + meret*Math.cos(0) , TopC + meret*Math.sin(0) ); // Kezdő pozíció. for (i=1; i<= szogek; i++) { tsszog.lineTo (LeftC + meret*Math.cos(i*2*Math.PI / szogek) , TopC + meret*Math.sin(i*2*Math.PI / szogek) ); } tsszog.strokeStyle = "black"; tsszog.lineWidth = 2; tsszog.stroke(); // tsszog.fillStyle="yellow"; // Alakzat kitöltési színe, ha engedélyezzük. // tsszog.fill(); // Ha engedélyezzük, alakzatot kitölti meghatározott színnel. </script> |