ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π½Π° Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ "ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ" Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ. ΠΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π° ΠΎΡ 0.0 (Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΡΠΌΠΎΠΉ) Π΄ΠΎ 1.0 (ΠΊΠΎΠ½Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ). ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°Π΄Π°Π΅Ρ ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ; ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²Π΅ΡΠ°, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ.
ΠΠ΅ΡΠΎΠ΄ addColorStop Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:
lgSample.addColorStop(0, "black");
lgSample.addColorStop(0.4, "rgba(0, 0, 255, 0.5)");
lgSample.addColorStop(1, "#FF0000");
ΠΡΠΎΡ Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ΅ ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ:
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ;
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΠΎΡΠΊΠ΅, ΠΎΡΡΡΠΎΡΡΠ΅ΠΉ Π½Π° 40 % Π΄Π»ΠΈΠ½Ρ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ ΠΎΡ Π΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ, ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠ½ΠΈΠΉ ΡΠ²Π΅Ρ;
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ.
Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠ°ΠΏ β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° CanvasGradient ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ strokeStyle ΠΈΠ»ΠΈ fillStyle. ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Π·Π°Π΄Π°Π΅Ρ ΡΠ²Π΅Ρ Π»ΠΈΠ½ΠΈΠΉ
ΠΊΠΎΠ½ΡΡΡΠΎΠ², Π° Π²ΡΠΎΡΠΎΠ΅ β ΡΠ²Π΅Ρ Π·Π°Π»ΠΈΠ²ΠΎΠΊ:
ctxCanvas.fillStyle = lgSample;
Π ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ. Π ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΡ Π΅Π³ΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π½Π΅Π΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° ΠΊΠ°Π½Π²Π΅ ΡΡΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊ Π½ΠΈΠΌ Π½Π°Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½ Π² ΡΠΎΡΠΊΠ΅ [0,0] (Π² Π½Π°ΡΠ°Π»Π΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°, Π² ΡΠΌΡΡΠ»Π΅, Π² Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅), Π²ΡΠΎΡΠΎΠΉ β Π² ΡΠΎΡΠΊΠ΅ [30,20] (Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅), ΡΡΠ΅ΡΠΈΠΉ β Π² ΡΠΎΡΠΊΠ΅ [80,40] (Π² ΠΊΠΎΠ½ΡΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° β Π΅Π³ΠΎ ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅). ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ "ΡΠ°ΡΡΡΠ°Π²ΠΈΠ»ΠΈ" Π½Π°ΡΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠΊΠ°Ρ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
ΠΠ°ΠΊ Π±ΡΠ΄ΡΡ ΠΎΠΊΡΠ°ΡΠ΅Π½Ρ ΡΡΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ.
β ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΡΠ°ΡΠ΅Π½, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π² ΡΠ΅ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ, Π·Π°Π΄Π°Π½Π½ΡΠΉ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
β ΠΡΠΎΡΠΎΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΡΠ°ΡΠ΅Π½, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π² ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠ½ΠΈΠΉ ΡΠ²Π΅Ρ, Π·Π°Π΄Π°Π½Π½ΡΠΉ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
β Π’ΡΠ΅ΡΠΈΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΡΠ°ΡΠ΅Π½, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π² ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ, Π·Π°Π΄Π°Π½Π½ΡΠΉ Π² ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π½Π΅ "Π²ΡΠΈΡΠ½ΡΠ»ΡΡ" Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π° ΠΊΠ°ΠΊ Π±Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΉ ΠΊΠ°Π½Π²Π΅, Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ "ΠΏΡΠΎΡΠ²ΠΈΠ»ΠΈ" ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π·Π°Π΄Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠΉ ΠΊΠ°Π½Π²Ρ, Π° ΡΠΈΠ³ΡΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½, ΠΎΠΊΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π΅Π³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠΈΠ³ΡΡΠ° Π±ΡΠ»Π° ΠΎΠΊΡΠ°ΡΠ΅Π½Π° Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ, ΡΡΠΎ- Π±Ρ ΠΎΠ½ "ΠΏΠΎΠΊΡΡΠ»" Π²ΡΡ ΡΠΈΠ³ΡΡΡ. ΠΠ½Π°ΡΠ΅ ΡΠΈΠ³ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°.
ΠΠΈΡΡΠΈΠ½Π³ 22.9
var lgSample = ctxCanvas.createLinearGradient(0, 0, 100, 50);
lgSample.addColorStop(0, "black"); lgSample.addColorStop(0.4, "rgba(0, 0, 255, 0.5)"); lgSample.addColorStop(1, "#FF0000"); ctxCanvas.fillStyle = lgSample;
ctxCanvas.fillRect(0, 0, 200, 100);
Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 22.9 ΡΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° Π² Π½Π΅ΠΌ ΠΏΠΎΡΠ²ΠΈΡΡΡ.
Π Π°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ
Π Π°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ (ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ) ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π²ΡΠΌΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ. "Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ" ΠΎΠ½ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° ΡΠ°ΡΡΡΠ°Π²Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ.
Π Π°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΡΡΠΈ ΡΡΠ°ΠΏΠ°.
ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ β Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° createRadialGradient β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.createRadialGradient (<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΡΠ΅Π½ΡΡΠ° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΡΠ΅Π½ΡΡΠ° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>,<ΡΠ°Π΄ΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>,<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΡΠ΅Π½ΡΡΠ° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΡΠ΅Π½ΡΡΠ° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>,<ΡΠ°Π΄ΠΈΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ>)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠΎΠ² ΠΈ ΡΠ°Π΄ΠΈΡΡΡ ΠΎΠ±Π΅ΠΈΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ. ΠΠ½ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π».
ΠΠ΅ΡΠΎΠ΄ createRadialGradient Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° CanvasGradient, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ.
ΠΡΠΈΠΌΠ΅Ρ:
var rgSample = ctxCanvas.createRadialGradient(100, 100, 10, 150, 100, 120);
ΠΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ rgSample. Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ "ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ" ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ, ΡΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΠΊΠ΅ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ [100,100], Π° ΡΠ°Π΄ΠΈΡΡ ΡΠ°Π²Π΅Π½ 10 ΠΏΠΈΠΊΡΠ΅Π»Π°ΠΌ, ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠ΅Π½ΡΡΠΎΠΌ Π² ΡΠΎΡΠΊΠ΅ [150,100] ΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ 120 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ².
ΠΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ β ΡΠ°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠ΅ΠΊ β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° addColorStop ΠΎΠ±ΡΠ΅ΠΊΡΠ° CanvasGradient:
<Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ>.addColorStop(<ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠΈ>, <ΡΠ²Π΅Ρ>)
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ½ Π·Π°Π΄Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π° ΠΎΡ 0.0 (Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°, Ρ. Π΅. Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ) Π΄ΠΎ 1.0 (ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°, Ρ. Π΅. Π²Π½Π΅ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ). ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, Π·Π°Π΄Π°Π΅Ρ ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠ΅.
ΠΠ°ΠΊ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ, ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΡΠ΅ΠΊ.
ΠΡΠΈΠΌΠ΅Ρ:
rgSample.addColorStop(0, "#CCCCCC");
rgSample.addColorStop(0.8, "black");
rgSample.addColorStop(1, "#00FF00");
ΠΡΠΎΡ Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ΅ ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ:
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ (Ρ. Π΅. Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ) ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΡΠΉ ΡΠ²Π΅Ρ;
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΠΎΡΠΊΠ΅, ΠΎΡΡΡΠΎΡΡΠ΅ΠΉ Π½Π° 80 % Π΄Π»ΠΈΠ½Ρ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΎΡ Π΅Π³ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ, ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ;
β ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡΠΌΠΈ (Ρ. Π΅. Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ) ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ.
Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠ°ΠΏ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ° β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π»Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ°, Ρ. Π΅. ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ strokeStyle ΠΈΠ»ΠΈ fillStyle:
ctxCanvas.fillStyle = rgSample;
Π Π°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΉ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ β ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°Π½Π²Π΅ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ "ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ" Π½Π° ΡΠΈΠ³ΡΡΠ°Ρ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½.
ΠΠΈΡΡΠΈΠ½Π³ 22.10 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΈΡΡΠΈΠ½Π³ 22.10
var rgSample = ctxCanvas.createRadialGradient(100, 100, 10, 150, 100, 120);
rgSample.addColorStop(0, "#CCCCCC");
rgSample.addColorStop(0.8, "black");
rgSample.addColorStop(1, "#00FF00");
ctxCanvas.fillStyle = rgSample;
ctxCanvas.fillRect(0, 0, 200, 200);
Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 22.10 ΡΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ°Π΄ΠΈΠ°Π»ΡΠ½ΡΠΌ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠΎΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π½ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΡΠΎΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½Ρ, ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ, Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π³ΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π³Π»Π°Π·Π°ΠΌΠΈ.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ²Π΅Ρ
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ²Π΅Ρ β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠΌ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠ°Π½Π²Ρ.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ²Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΡΡΠΈ ΡΡΠ°ΠΏΠ°.
ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π€Π°ΠΉΠ» Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Web-ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ Image, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Ρ ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅.
Π‘Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎ Π³Π»Π°Π²Π΅ 14 ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Image:
var imgSample = new Image();
ΠΠ±ΡΠ΅ΠΊΡ Image ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ src, Π·Π°Π΄Π°ΡΡΠ΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π°Π΄ΡΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΠΎΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π°Π΄ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ»Π°, Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½:
imgSample.src = "graphic_color.jpg";
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Image Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°.
ΠΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° createPattern:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.createPattent(<Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°Π½Π²Π°>,<ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ>)
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°Π΄Π°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Image ΠΈΠ»ΠΈ ΠΊΠ°Π½Π²Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° HTMLCanvasElement.
Π§Π°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠΈΠ³ΡΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ²Π΅Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ "Π²ΡΠΌΠΎΡΡΠΈΡΡ" Π»ΠΈΠ½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΡ. Π Π΅ΠΆΠΈΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° createPattern. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊ: