Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Image Π² JavaScript

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с изобраТСниями Π² JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Image. Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹ΠΌ свойством ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Document. И ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ изобраТСниями Ρ‡Π΅Ρ€Π΅Π· JavaScript, Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. РазумССтся, созданиС происходит Π² HTML, поэтому Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Π’Π°ΠΌ Ρ‚Π΅Π³:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ этому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· JavaScript:

Π’ΠΠ˜ΠœΠΠΠ˜Π•: НСобходимо ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: нСльзя ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ сущСствуСт. Какой Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ· этого ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? ΠžΡ‡Π΅Π½ΡŒ простой: ΠΏΠΎΠΊΠ° Π½Π΅ создано ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ нСльзя ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ здСсь скрипт Π”Πž Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ появилось ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. На это ΠΎΡ‡Π΅Π½ΡŒ часто Π½Π°ΠΏΠ°Ρ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ, поэтому Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‡Π΅ΠΌ-Π»ΠΈΠ±ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π½Π°Ρ‡Π°Π»Π° это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ свойствам. Начнём со свойства border. Π”Π°Π½Π½ΠΎΠ΅ свойство ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π°ΠΌΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ изобраТСния. РазумССтся, ΠΌΡ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π°ΠΌΠΊΠΈ нашСго изобраТСния:

РазумССтся, Π΅ΡΡ‚ΡŒ Π΄Π²Π° свойства, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту изобраТСния. Π­Ρ‚ΠΎ свойства width ΠΈ height ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° JavaScript. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ поясню, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ скрипт. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ описываСм саму Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Боздаётся пСрСмСнная flag. Π­Ρ‚ΠΎ Π½Π΅ΠΊΠΈΠΉ Ρ„Π»Π°Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ смСнС изобраТСния. Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄Ρ‘Ρ‚ функция changeImage(), которая ΠΈ занимаСтся смСной изобраТСния. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ присваиваСтся Ρ‚ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ соотвСтствуСт Ρ„Π»Π°Π³. ПослС смСны изобраТСния мСняСтся ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π° (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Π±Ρ‹Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅). Π—Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ скрипта создаётся Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ. Π—Π΄Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ «onClick«. Π­Ρ‚ΠΎΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ события «ΠšΠ»ΠΈΠΊ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅«. О событиях ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ здСсь достаточно ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Π’ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° «onClick» стоит функция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρƒ нас ΠΈ мСняСтся ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. НадСюсь, Ρ‡Ρ‚ΠΎ понятно объяснил.

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π°Π²Ρ‚ΠΎΡ€Π° (ΠœΠΈΡ…Π°ΠΈΠ» Русаков) ΠΈ индСксируСмой прямой ссылкой Π½Π° сайт (http://myrusakov.ru)!

Π”ΠΎΠ±Π°Π²Π»ΡΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎ ΠΌΠ½Π΅ Π² Π΄Ρ€ΡƒΠ·ΡŒΡ Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅: http://vk.com/myrusakov.
Если Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΌΠ½Π΅ ΠΈ ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, Ρ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Ρ‘ Π² ΠΌΠΎΠ΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅: http://vk.com/rusakovmy.

Если Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π½Π° сайтС,
Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° обновлСния: ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° обновлСния

Если Ρƒ Вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы, Π»ΠΈΠ±ΠΎ Ρƒ Вас Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π²Ρ‹ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‚ΠΎ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²Π½ΠΈΠ·Ρƒ страницы.

ΠŸΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠΉΡ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ:

Если Π’Π°ΠΌ понравился сайт, Ρ‚ΠΎ размСститС ссылку Π½Π° Π½Π΅Π³ΠΎ (Ρƒ сСбя Π½Π° сайтС, Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅, Π² ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅):

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ( 31 ):

Π£ мСня Π½Π΅ получаСтся, Ρƒ мСня вмСсто ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π΄Π²ΡƒΡ…, Ρ‚ΠΈΠΏΠΎ ΠΈΠ½ΠΏΡƒΡ‚Π° Ρ‚Π°ΠΊΠΎΠ΅ «Π ΠΈΡΡƒΠ½ΠΎΠΊ» Π² Π΄Π²ΡƒΡ…. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ‡Π΅ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ?

Π›Π°Π΄Π½ΠΎ разобрался ΡƒΠΆΠ΅.

Π‘Π»ΠΈΠ½, ΠΈ ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ слов Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ))))

Π£ мСня Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ послСдний Π½Π° страницС скрипт. Π’ΠΈΠ΄ΠΈΠΌΠΎ, ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ· Ρ‚Π΅Π»Π° скрипта Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ссылка Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Бсылка Π½Π° изобраТСния Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° html Π²Π½Π΅ скипта. Π•Ρ‰Π΅ подскаТитС, поТалуйста, Π³Π΄Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ языка Java Π² ссылках Π½Π° изобраТСния ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ°ΠΏΠΊΡƒ Π²Π²Π΅Ρ€Ρ… (Ссли ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π»Π΅ΠΆΠ°Ρ‚ Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ с html-Ρ„Π°ΠΉΠ»ΠΎΠΌ).

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡƒΡ‚ΡŒ. Если скрипт находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ°ΠΏΠΊΠ΅), Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ совсСм Π΄Ρ€ΡƒΠ³ΠΈΠΌ. А ΠΏΡ€ΠΎ Java Π½Π° Π΄Π°Π½Π½ΠΎΠΌ сайтС Π½ΠΈΡ‡Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ‚, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈ вряд Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚.

Π§Ρ‚ΠΎ касаСтся ΠΏΠΎΠ΄ΡŠΡ‘ΠΌΠ° Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, Ρ‚ΠΎ ΠΎΠ½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΏΠΎΠ΄ΡŠΡ‘ΠΌΡƒ Π²Π²Π΅Ρ€Ρ… Π² HTML, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «../».

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ языка Java Π²ΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ рСсурс. http://javarush.ru/ Π‘Π΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†Ρ‹ΠΏΡƒ комикса, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈ Π½Π° этом сайтС: ΠΎΡ‚ простых Π²Π΅Ρ‰Π΅ΠΉ постСпСнно ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТным

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ input Π² Ρ„ΠΎΡ€ΠΌΡƒ?

НСт, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ.

ЗдравствуйтС, ΠœΠΈΡ…Π°ΠΈΠ». ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС свойства src ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ? Бпасибо.

src ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строку.

я ΠΈΠΌΠ΅Π» Π²Π²ΠΈΠ΄Ρƒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°: st = ‘image/’ + ‘1.jpg’; document.img.scr = st; ΡƒΠΆΠ΅ разобрался, понял Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ писал имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. вопрос Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊ, ΠΏΡ€Π°Π²Π΄Π° Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этого Ρ‚ΠΎΠΏΠΈΠΊΠ°. ΠΊΠ°ΠΊ вывСсти Π½Π° «ΡΠΊΡ€Π°Π½» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Π² javascript Π² html. (знаю Ρ‡Ρ‚ΠΎ Π½Π΅ понятно, Π½ΠΎ ΠΊΠ°ΠΊ смог сформулировал πŸ™‚ ) НапримСр ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ st=’Ρ‹Ρ‹Ρ‹’ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π±Π΅-Π±Π΅-Π±Π΅- Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ: Π±Π΅-Π±Π΅-Π±Π΅-Ρ‹Ρ‹Ρ‹ Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

st=»Π±Π΅-Π±Π΅-Π±Π΅»; st = st + «Ρ‹Ρ‹Ρ‹»;

Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поняли. ΠΊΠ°ΠΊ вывСсти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ st Π² Π±Π»ΠΎΠΊΠ΅ span.

Бпасибо, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ понял.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠœΠΈΡ…Π°ΠΈΠ»! ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ. Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ участвовало Ρ‚Ρ€ΠΈ изобраТСния. НуТно Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ flag? Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ условия?

Π‘ трСмя Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС. Π’ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ массив со всСми изобраТСниями ΠΈ ΠΊΠ»ΠΈΠΊΠ°ΠΌΠΈ Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт. Плюс Π½Π°Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ элСмСнт (Π»ΡƒΡ‡ΡˆΠ΅ индСкс Π² массивС).

Π― ΠΏΠΎΠΊΠ° ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π±Π΅Π· массива, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ? Π£ мСня Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, всС Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΡΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

МоТно, Π½ΠΎ Ссли потрСбуСтся 10 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, Ρ‚ΠΎ Π·Π°ΠΌΡƒΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π£ мСня Π½Π΅ смСняСтся ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π³Π΄Π΅ ошибка?

ΠŸΡƒΡ‚ΠΈ Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΡƒΠΆ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π· русских символов ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

ΠœΠΈΡ…Π°ΠΈΠ», подскаТитС. Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ свойство background-image. Π― Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (url) ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΉ. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? path = ‘image/im1.jpg’; document.getElementById(‘im1’).style.background-image = ‘url(path)’; Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ищСтся ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° path.

Π”ΠΎΠ»Π³ΠΎ мучился с послСдним скриптом. Оказалось слишком Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ списал ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ скрипт, ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ помСнял Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ img name = ‘img’ Π½Π° img name = ‘img1’ Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ скрипта Π·Π°ΠΌΠ΅Π½Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°.

Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅, поТайлуста, Π² прСдпослСднСм Π°Π±Π·Π°Ρ†Π΅ «. Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Π±Ρ‹Π»ΠΎ Π΄Ρ€ΡƒΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. » слово «Π΄Ρ€ΡƒΠ³ΠΎΠ΅»

НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² HTML5. Какой ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ для Π½Π΅Π³ΠΎ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИспользованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ создавали наши собствСнныС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈ примСняли стили ΠΊ Π½ΠΈΠΌ. Одна ΠΈΠ· самых Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для динамичСского ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³Π° Ρ„ΠΎΡ‚ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ„ΠΎΠ½Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², для спрайтов Π² ΠΈΠ³Ρ€Π°Ρ…, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ изобраТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ PNG, GIF, ΠΈΠ»ΠΈ JPEG. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ canvas элСмСнтами Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ страницС ΠΊΠ°ΠΊ источник!

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² canvas Π² основном состоит ΠΈΠ· 2 этапов:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ИспользованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для рисования

Canvas API ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС пСрСчислСнныС Π΄Π°Π»Π΅Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ источник изобраТСния:

Π•ΡΡ‚ΡŒ нСсколько способов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ изобраТСния для использования Π½Π° холстС.

ИспользованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Ρ‚ΠΎΠΉ ΠΆΠ΅ страницы

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ страницС, Π½Π° canvas с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов:

ИспользованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²

ИспользованиС Π΄Ρ€ΡƒΠ³ΠΈΡ… canvas элСмСнтов

Как ΠΈ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ изобраТСниями, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ canvas элСмСнтам ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»ΠΈΠ±ΠΎ document.getElementsByTagName() Π»ΠΈΠ±ΠΎ document.getElementById() ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² canvas источникС ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нарисовано, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ canvas.

Одним ΠΈΠ· ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… способов Π±Ρ‹Π»ΠΎ Π±Ρ‹ использованиС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта canvas Π² качСствС ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ большСго изобраТСния canvas.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с нуля

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ HTMLImageElement ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² нашСм скриптС. Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Image() конструктор:

Когда этот скрипт выполнится, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π½Ρ‘Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ.

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ drawImage() ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ загрузится, Ρ‚ΠΎ скрипт Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сдСлаСт (ΠΈΠ»ΠΈ, Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ событиС load, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π½Π΅ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ загрузится:

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ стороннСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, Π½ΠΎ Ссли Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° нСсколькими изобраТСниями, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠΌΠ½ΠΎΠ΅. Π₯отя поиски Ρ‚Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ выходят Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ этого ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ курса, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ± этом ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

Π’Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ изобраТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…: URL

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ способ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ это Ρ‡Π΅Ρ€Π΅Π· data: url. Data URLs позволяСт Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Base64 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку символов прямо Π² ваш ΠΊΠΎΠ΄.

Одним ΠΈΠ· прСимущСств data URLs это Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ доступно сразу Π±Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΡ… запросов Ρ‚ΡƒΠ΄Π°-ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° сСрвСр. Π”Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ прСимущСство Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всё Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ всС ваши CSS, JavaScript, HTML, ΠΈ изобраТСния, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах.

НСкоторыС нСдостатки этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ вашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, ΠΈ для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с большим Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ url ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΈΠΌ процСссом.

ИспользованиС ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π΄Ρ€Ρ‹ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ прСдставлСнных элСмСнтом (Π΄Π°ΠΆΠ΅ Ссли Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ). НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ элСмСнт с ID «myvideo», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

РисованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ссылку Π½Π° источник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° изобраТСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ drawImage() для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π² canvas. Как ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»Π΅Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ drawImage() ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΎΠ½ выглядит ΠΊΠ°ΠΊ:

SVG изобраТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшнСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² качСствС Ρ„ΠΎΠ½Π° для нСбольшого Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. ИспользованиС Ρ„ΠΎΠ½ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш скрипт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ нСобходимости ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для создания Ρ„ΠΎΠ½Π°. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ€Π°Π·, поэтому я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий изобраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² рисования. drawImage() ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ мСсто Ρ„ΠΎΠ½Π° с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (0, 0), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ привязаны ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ Π»Π΅Π²ΠΎΠΌΡƒ ΡƒΠ³Π»Ρƒ canvas.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π³Ρ€Π°Ρ„ΠΈΠΊ выглядит Ρ‚Π°ΠΊ:

ScreenshotLive sample
Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ²

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° drawImage() добавляСт Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² canvas с ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ.

drawImage(image, x, y, width, height) Π­Ρ‚ΠΎ добавляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ рисовании Π΅Π³ΠΎ Π² canvas.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π’Π°ΠΉΠ»ΠΈΠ½Π³ изобраТСния

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² качСствС ΠΎΠ±ΠΎΠ΅Π² ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π΅Π³ΠΎ Π² canvas нСсколько Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлано просто Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ», располагая ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ изобраТСния Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… позициях. Π’ ΠΊΠΎΠ΄Π΅ Π²Π½ΠΈΠ·Ρƒ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ рядам. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» for ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΎ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ 50×38 пиксСлСй.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΌΠΈ, ΠΏΡ€ΠΈ большом ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ зСрнистыми ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ всСго Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ изобраТСния, Ссли Π½Π° Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ рисунок canvas выглядит Ρ‚Π°ΠΊ:

ScreenshotLive sample
Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

НарСзка

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascriptΠ§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π°Ρ€Π΅Π·ΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ справа. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ мСстополоТСниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° исходного изобраТСния. ПослСдниС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ вписано ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ рисункС canvas.

НарСзка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС элСмСнты Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ изобраТСния ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для создания ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. НапримСр, Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ PNG ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, содСрТащСС всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ тСксты Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ достаточно просто ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ. Π”Ρ€ΡƒΠ³ΠΈΠΌ прСимущСством являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ нСобходимости Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠžΠ±Ρ€Π°ΠΌΠ»Π΅Π½ΠΈΠ΅ изобраТСния

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ носорога, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ ΠΌΡ‹ ΠΎΡ‚Ρ€Π΅ΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π΅Ρ‘ Π² Ρ€Π°ΠΌΠΊΡƒ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠΊΠΈ это 24-Ρ… Π±ΠΈΡ‚Π½Ρ‹ΠΉ PNG, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠ°Π΄Π°ΡŽΡ‰ΡƒΡŽ Ρ‚Π΅Π½ΡŒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² 24-Ρ… Π±ΠΈΡ‚Π½Ρ‹Π΅ PNG изобраТСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎΠ»Π½Ρ‹ΠΉ 8-ΠΌΠΈ Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π°Π»ΡŒΡ„Π°-ΠΊΠ°Π½Π°Π», Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ GIF ΠΈ 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… PNG ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½ Π² любой Ρ„ΠΎΠ½, Π±Π΅Π· бСспокойства ΠΎ ΠΌΠ°Ρ‚ΠΎΠ²ΠΎΠΌ Ρ†Π²Π΅Ρ‚Π΅.

ScreenshotLive sample
Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π³Π°Π»Π΅Ρ€Π΅ΠΈ искусства

Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этой Π³Π»Π°Π²Ρ‹, ΠΌΡ‹ построим Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³Π°Π»Π΅Ρ€Π΅ΡŽ искусств. ГалСрСя состоит ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Когда страница загрузится, элСмСнт вставится Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π° Π²ΠΎΠΊΡ€ΡƒΠ³ Π±ΡƒΠ΄Π΅Ρ‚ нарисована Ρ€Π°ΠΌΠΊΠ°.

Π’ этом случаС, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ изобраТСния фиксированная ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота, такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ Ρ€Π°ΠΌΠΊΠΈ нарисованной Π²ΠΎΠΊΡ€ΡƒΠ³ Π½ΠΈΡ…. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этот скрипт Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ использовал ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту изобраТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΠΌΠΊΠ° идСально Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠΈΠ»Π°.

Код Π½ΠΈΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ сам Π·Π° сСбя. ΠœΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· document.images ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ соотвСтствСнно добавляСм Π½ΠΎΠ²Ρ‹Π΅ элСмСнты canvas. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ слишком Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌ с DOM, Ρ‡Ρ‚ΠΎ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Node.insertBefore ΠΌΠ΅Ρ‚ΠΎΠ΄. insertBefore() это ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΡƒΠ·Π»Π° (ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) элСмСнта (изобраТСния) ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ наш Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ·Π΅Π» (элСмСнт canvas).

И сюда ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ CSS для ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΡ:

Бвязывая всС вмСстС JavaScript рисуСт наши изобраТСния Π² Ρ€Π°ΠΌΠΊΠ°Ρ…:

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² изобраТСния

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Вставка изобраТСния ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ javascript

ВсС Ρ‚Π΅, ΠΊΡ‚ΠΎ постоянно ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ систСмный Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°. Π’ основном, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, для копирования ΠΈ вставки тСкста. Но Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎ возмоТности сохранСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π±ΡƒΡ„Π΅Ρ€Π΅. Π― Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ javascript ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΊ сСбС Π½Π° сайт ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ настоящСС врСмя это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Chrome ΠΈ Firefox.

Π’ Chrome ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ clipboardData (это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события paste). Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ всСму содСрТимому Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π—Π°Ρ‚Π΅ΠΌ создаСм Π΅Π³ΠΎ blob ΠΎΠ±Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΡƒΡ€Π» для изобраТСния, добавляСмого Π½Π° страницу.
Firefox Π½Π΅ ΠΈΠΌΠΌΠ΅Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° clipboardData ΠΈ для вставки изобраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² элСмСнт с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ contenteditable. Π₯Π°ΠΊ SetTimeout (checkInput, 1) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ послС Π΅Π³ΠΎ вставки.

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ скрипт.

О пСсочницС

Π­Ρ‚ΠΎ Β«ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π°Β» β€” Ρ€Π°Π·Π΄Π΅Π», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π΄Π΅Π±ΡŽΡ‚Π½Ρ‹Π΅ посты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹ΠΌΠΈ участниками сообщСства.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ²ΡˆΠ΅ΠΉΡΡ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” Ρ‚ΠΎΠ³Π΄Π° Π΅Ρ‘ смогут ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π₯Π°Π±Ρ€Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π·ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅, всС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹, псСвдонимы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

О ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΠΈ

НС Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΠΎΡ€ΡƒΠΌ

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ

имССтся скрипт тСста для сотрудников, Π½Π΅ получаСтся Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, Π§Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ дСлаю?:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π·:

Π’.Π΅. ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ вопросу ΠΈΠ΄Π΅Ρ‚ фотовопрос. ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ?

Π­Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ массивом с вопросами ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊ.

Π­Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ массивом с вопросами ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΊ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ появляСтся. И ΠΌΠ½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΅Π³ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² сам массив, Π° Π½Π΅ ΠΏΠΎΠ΄ Π½ΠΈΠΌ.

НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° appendChild Π² ΠΌΠΎΡ‘ΠΌ случаС? Пока Ρ‚ΠΎΠ»ΡŒΠΊΠΎ знакомлюсь с javascript ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ знаю.

ΠŸΡ€ΠΎΡΡ‚ΠΈΡ‚Π΅, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ я понял?

Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Π£ΠΆΠ΅ Π΄ΡƒΠΌΠ°ΡŽ, хотя Π±Ρ‹ ссылку Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ

НСт, Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π’Ρ‹ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ HTML ΠΈ мСсто, ΠΊΡƒΠ΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ. ВмСсто «id» Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ id Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта. Π­Ρ‚ΠΎ Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…. Ну Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, вынСситС 16-ю строчку ΠΊΡƒΠ΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто, ΠΎΠ½Π° Ρ‚Π°ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚.

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascriptΠ° Π½Π΅ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ innerHTML. Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

для своСго сайта Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΏΡ€Π΅Π²ΡŒΡŽ мСняСмоС ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π°Π²Π°Ρ‚Π°Ρ€ΠΊΠΈ Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

На холстС ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ»ΠΈ простых гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ Π΄ΠΎ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π° со всСми ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠΈΠΌΠΈ подробностями. Но с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ уровня слоТности Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ слоТности ΠΊΠΎΠ΄Π°. Π’ Π²Ρ‹ΡΡˆΠ΅ΠΉ стСпСни маловСроятно, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ вСсь ΠΊΠΎΠ΄, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ для создания высококачСствСнного изобраТСния.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. ВозмоТности контСкста рисования Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ рисованиСм простых прямых ΠΈ ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, Ρ‚Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для вставки Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, тСкста, ΡƒΠ·ΠΎΡ€ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ Ρ€Π°ΠΌΠΎΠΊ для ΠΏΠΎΠΊΠ°Π·Π° Π²ΠΈΠ΄Π΅ΠΎ.

Вставка Π² Canvas ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π’Π°ΠΌ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π΅Π±-страницы со спутниковыми ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π° ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹. Π­Ρ‚ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠ· снимков ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… участков повСрхности Π·Π΅ΠΌΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эти страницы Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ со спутника ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π₯олст ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ изобраТСниями посрСдством ΠΌΠ΅Ρ‚ΠΎΠ΄Π° тСкста рисования drawImage(). Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² холст, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ drawImage() Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… пСрСдаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ холста, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ:

Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния, Π΅Π³ΠΎ сначала Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ. Π’ HTML5 Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… способа получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° изобраТСния. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ попиксСльно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° createImageData(). Но этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ.

Ρ‚ΠΎΠ³Π΄Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² холст с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π°:

НаконСц, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. НСдостаток этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ drawImage() Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ загрузится. Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ выполнится событиС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ изобраТСния onLoad, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этом процСссС, рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π° холстС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ face.jpg. ВСорСтичСски, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ установка Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° src Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ изобраТСния, Π½ΠΎ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ дальшС, Π½Π΅ оТидая Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ, Ρ‚.ΠΊ. порядок указания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ Π½Π΅ совпадаСт с порядком ΠΈΡ… исполнСния. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° context.drawImage() происходит Π² послСднюю ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, вскорС послС установки свойства img.src.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡƒΠΊΡ€Π°ΡΠΈΡ‚ΡŒ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²Ρ‹Π΅ рисунки ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ самому. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ пСрсонаТСй, размСстив ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° холстС. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для заполнСния Π»ΠΈΠ½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠΌ тСкстурированный Π²ΠΈΠ΄.

ИскаТСниС рисунков Π² элСмСнтС Canvas

Если обнаруТится, Ρ‡Ρ‚ΠΎ вашС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ нСпонятной ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ растянуто, сТато ΠΈΠ»ΠΈ искаТСно ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятной ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ этому Π±ΡƒΠ΄Π΅Ρ‚ установка Ρ€Π°Π·ΠΌΠ΅Ρ€Π° холста посрСдством ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ холста Π½Π°Π΄ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ высоты ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… height ΠΈ width элСмСнта Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ страницы. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ эти значСния Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅Π³Π°:

Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€Π°Π²ΠΈΠ»Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠ±Ρ€Π΅Π·ΠΊΠ°, Ρ€Π°Π·Ρ€Π΅Π·ΠΊΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² изобраТСния

Ѐункция drawImage() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° холстС. НапримСр, Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ width ΠΈ height ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 80×150 пиксСлов, Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ холста с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (10,10). Если ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния Π±Ρ‹Π» 160×300 пиксСлов, Ρ‚ΠΎ эта опСрация ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π² ΠΎΠ±ΠΎΠΈΡ… направлСниях, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ изобраТСния Π±ΡƒΠ΄Π΅Ρ‚ лишь Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° исходного.

Если Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² холст Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ изобраТСния, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ drawImage() Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² Π½Π°Ρ‡Π°Π»Π΅ списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ части изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ:

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

ВозмоТностСй ΠΌΠ΅Ρ‚ΠΎΠ΄Π° drawImage() нСдостаточно, Ссли вставляСмоС Π² холст ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΊΠΎΡΠΈΡ‚ΡŒ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ³ΠΎΠ». Но эти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ манипуляции с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° холстС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ трансформаций.

Π’ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€

ΠŸΡ€ΠΈ исполнСнии этого ΠΊΠΎΠ΄Π° выполняСтся Π·Π°Ρ…Π²Π°Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° Π²ΠΈΠ΄Π΅ΠΎ, воспроизводимого Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΌ вставляСтся Π² холст.

Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π΅Ρ€ΡŒ для создания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… интСрСсных эффСктов. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Ρ…Π²Π°Ρ‚ ΠΊΠ°Π΄Ρ€ΠΎΠ² воспроизводимого Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² холст. Если Π΄Π΅Π»Π°Ρ‚ΡŒ это достаточно быстро, Ρ‚ΠΎ вставляСмая Π² холст ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°Π΄Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСкт ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π²ΠΈΠ΄Π΅ΠΎ.

Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π½Π΅ Π±Ρ‹Π» просто Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ, Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² холст. НапримСр, вставляСмый ΠΊΠ°Π΄Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ эффСкт Π² стилС Photoshop, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π² Π΅Π³ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ пиксСлов. Один ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΎΠΉ манипуляции смотритС Π½Π° страницС «video + canvas = magic». Π’ Π½Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π½ΠΎ-Π±Π΅Π»Ρ‹ΠΌ, прСобразуя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ пиксСл Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° Π² ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ сСрого.

Вставка Π² холст тСкста

Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ вряд Π»ΠΈ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… прямых ΠΈ ΠΊΡ€ΠΈΠ²Ρ‹Ρ…, являСтся тСкст. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ HTML5 ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ ΠΈ ΠΎΠ± этом для нас ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° контСкста рисования для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом.

Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² холст ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ тСкст, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ для Π½Π΅Π³ΠΎ, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства контСкста font. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указываСтся посрСдством строки с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ синтаксисом, ΠΊΠ°ΠΊ ΠΈ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ свойства font CSS. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π² пиксСлах ΠΈ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π’ случаС нСувСрСнности Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ список ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²:

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΆΠΈΡ€Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΈΠ»ΠΈ курсив, ΡƒΠΊΠ°Π·Π°Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ строки:

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, благодаря CSS3 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ‡ΡƒΡ€Π½Ρ‹Π΅ встроСнныС ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹. Для этого Π½ΡƒΠΆΠ½ΠΎ лишь сначала Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ стилСй. ПослС установки ΡˆΡ€ΠΈΡ„Ρ‚Π° тСкст Π² холстС вводится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° fillText(). НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² холст строку тСкста, Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (10,10):

ВСкст ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² любоС мСсто Π½Π° холстС, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС Π·Π° Ρ€Π°Π·. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСсколько строк, Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ число Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° fillText().

Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² javascript

Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, ΠΌΠ΅Ρ‚ΠΎΠ΄ strokeText() Π²Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ очСртания Π±ΡƒΠΊΠ². Если трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкст ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, Π° Π΅Π³ΠΎ ΠΎΠ±Π²ΠΎΠ΄ΠΊΡƒ β€” Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сначала ΠΌΠ΅Ρ‚ΠΎΠ΄ fillText(), Π° послС Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ strokeText().

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π½Π° холст выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ рисованиС Π»ΠΈΠ½ΠΈΠΉ ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ваТности ΠΏΡ€ΠΈ создании статичСского изобраТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹), Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ создании ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ прилоТСния ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ тСкста ΠΌΠΎΠΆΠ½ΠΎ, сначала сохранив Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ тСкст Π² Ρ„Π°ΠΉΠ»Π΅ изобраТСния, Π° ΠΏΠΎΡ‚ΠΎΠΌ отобраТая Π΅Π³ΠΎ Π½Π° холстС посрСдством ΠΌΠ΅Ρ‚ΠΎΠ΄Π° drawImage().

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *