Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ? – Π—Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ гСодСзия

Π’ ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠΈ Π½Π°Ρ‡Π°Π»Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Π½Π΅ лишним Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Π° ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ нСсколько простых ΠΏΡ€Π°Π²ΠΈΠ».

Π­Ρ‚ΠΎ Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ поста Twenty rules for good graphics с нСбольшими исправлСниями ΠΈ дополнСниями.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС.

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ​​как EPS, PS ΠΈΠ»ΠΈ PDF. Они ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π½Π΅ выглядят Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ JPEG, BMP ΠΈΠ»ΠΈ PNG, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ, ΠΈΠ»ΠΈ, Ссли ΠΎΠ½ΠΈ сохранСны Π² ΠΎΡ‡Π΅Π½ΡŒ высоком Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ рисунки с ΠΎΡ‡Π΅Π½ΡŒ большим числом ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… элСмСнтов, Π² этом случаС, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², вСкторная Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ сильно ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡˆΡ€ΠΈΡ„Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° читаСтся послС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ рисунка Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½.
  3. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Ρ‘Π½Π½Ρ‹Ρ… Π»Π΅Π³Π΅Π½Π΄. По возмоТности, добавляйтС ΠΌΠ΅Ρ‚ΠΊΠΈ нСпосрСдствСнно ΠΊ элСмСнтам Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»Π΅Π³Π΅Π½Π΄Ρƒ Π²ΠΎΠΎΠ±Ρ‰Π΅. Если это Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‚ΠΎ Π½Π΅ позволяйтС Π»Π΅Π³Π΅Π½Π΄Π΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΅Ρ‘ малСнькой ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠΉ.
  4. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»Π΅Π³Π΅Π½Π΄Ρƒ, Ρ‚ΠΎ пСрСмСститС Π΅Π΅ Π² ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.
  5. Никакого Π·Π°Ρ‚Π΅ΠΌΠ½Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΠ½Π°. Π“Ρ€Π°Ρ„ΠΈΠΊ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ читаСтся с Π±Π΅Π»Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ.
  6. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Ρ‚Ρ‘ΠΌΠ½Ρ‹Ρ…, Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΠ½ΠΈΠΉ сСтки. Π›ΠΈΠ½ΠΈΠΈ сСтки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Π½ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π° Π·Π°Π΄Π½Π΅ΠΌ ΠΏΠ»Π°Π½Π΅ (свСтло-сСрый Ρ†Π²Π΅Ρ‚ Π½Π° Π±Π΅Π»ΠΎΠΌ Ρ„ΠΎΠ½Π΅).
  7. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ осСвыС ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ осмыслСнно. НС всСгда Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ноль. Основная идСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ большого количСства пустого пространства Π²ΠΎΠΊΡ€ΡƒΠ³ нанСсённых Π΄Π°Π½Π½Ρ‹Ρ….
  8. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ оси ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.
  9. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния.
  10. Подписи Π½Π° числовых осях Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌ числам ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ².
  11. Оси Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.
  12. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ достаточно Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Ρ‡ΠΈΡ‚Π°Π»Π°ΡΡŒ. Π›ΠΈΠ½ΠΈΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½ΠΎΠΉ 1pt ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΈΡΡ‡Π΅Π·Π°Ρ‚ΡŒ, Ссли Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ.
  13. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ налоТСния тСкста Π½Π° символы ΠΈΠ»ΠΈ Π»ΠΈΠ½ΠΈΠΈ.
  14. УдаляйтС всС лишниС элСмСнты с рисунка. Π”Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ – лишь ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
  15. Для понимания Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π² частности, ΠΈΠ· основного тСкста, поэтому, Ссли Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ срСдств самого рисунка, Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ подписи ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ.
  16. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊ высотС Ρ€Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 1,6 (Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ сСчСниС) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².
  17. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊ Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ сторон для использования Π² ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  18. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π° Π½Π΅ Π»ΠΈΠ½ΠΈΠΈ, Ссли порядок элСмСнтов Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния.
  19. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ сравнСниС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡˆΠΊΠ°Π»Ρƒ для всСх Π½ΠΈΡ…. Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ всС Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ссли ΠΎΠ½ΠΈ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.
  20. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. ОсобСнно 3D ΠΊΡ€ΡƒΠ³ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Π£Ρ‡Π΅Π±Π½ΠΎΠ΅

Figma: Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° | ConvertMonster

Π’ Π€ΠΈΠ³ΠΌΠ΅ присутствуСт ряд инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ красивыС Π΄ΠΈΠ·Π°ΠΉΠ½Ρ‹. Если Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС возмоТности систСмы, Ρ‚ΠΎ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Π²Π΅Π±-сайтов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ. Но сначала потрСбуСтся ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ устройство сСрвиса figma. Π‘ Ρ‡Π΅Π³ΠΎ ΠΆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ?Β 

Π›ΡŽΠ±ΠΎΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ строится ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов: ΠΊΠ½ΠΎΠΏΠΊΠΈ, мСню, тСкстовых ΠΏΠΎΠ»Π΅ΠΉ, графичСских ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ интСрфСйса – это Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, Boolean Groups ΠΈ Маски  

Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π½ – ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π“Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ мСню Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ПослС добавляСм ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, ΠΈΡ… Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Shape Tools β€œΠ‘Π°Π·ΠΎΠ²Ρ‹Π΅ фигуры”. Находятся ΠΎΠ½ΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.Β 

ОпишСм ΠΏΡƒΠ½ΠΊΡ‚Ρ‹, входящиС Π² мСню:

  1. Rectangle (ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ) – Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом свойств: ΡˆΠΈΡ€ΠΈΠ½Π°, высота, ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΈ радиус ΡƒΠ³Π»Π°. Β Β 
  2. Line – Ссли Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ β€œΠ»ΠΈΠ½ΠΈΡŽβ€ ΠΈ провСсти ΠΌΡ‹ΡˆΠΊΠΎΠΉ, Ρ‚ΠΎ получится ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ простыС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΊΠΎΠ½ΠΊΠΈ. Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ линию ΠΈ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ ΠΎΡ‚ послСднСй Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ рисованиС нСдоступно, вмСсто этого прСдлагаСтся Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΡ€Π°ΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· Line (для быстрого доступа горячая клавиша β€œL”).
  3. Arrow – ΠΏΠΎΡ…ΠΎΠΆ Π½Π° β€œΠ›ΠΈΠ½ΠΈΡŽβ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ стрСлка.
  4. Ellipse – ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ окруТности, ΠΊΡ€ΠΎΠΌΠ΅ стандартных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² высоты, ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ X, Y ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΅Ρ‰Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΡŽΡ‚ΡΡ послС измСнСния физичСского состояния Эллипса. Для этого слСдуСт Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ окруТности, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π΅Ρ‘.

ПослС этого появится Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Start – устанавливаСт ΡƒΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.Β 

Sweep – Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅Π·, прибавляя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Sweep, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ становится большС. ΠŸΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.

Ratio – ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ объСм Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅, создавая пустоту.

  1. Polygon – создаСт Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свойства:

Radius – Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠ³Π»Ρ‹ ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ

Count – прибавляСт ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΡƒΠ³Π»Ρ‹.

Β 

  1. Star – Π·Π²Π΅Π·Π΄Π° состоит ΠΈΠ· пяти острых ΡƒΠ³Π»ΠΎΠ², ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ свойства:Β  Radius, Count ΠΈ Ratio (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Star).

  1. Place Image – добавляСт ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π² сСрвис. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ открываСтся Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, удСрТивая ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ctrl.

Π’ Figma присутствуСт Ρ‚Π°ΠΊΠΎΠΉ инструмСнт, ΠΊΠ°ΠΊ Boolean Groups. Π’ Π½Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ доступно объСдинСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€œSubtract Selection”. НарисуСм нСсколько ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части мобильного устройства.

Π’ Π½Π°Ρ‡Π°Π»Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ β€œΠ·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал” (ΠΊΠ°ΠΊ Ρƒ смартфона):

Π‘Π½Π°Ρ‡Π°Π»Π° нарисуСм ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° 80 ΠΈ высота 200, Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ 45 градусов ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° пСрСсСкаСт rectangle, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅:

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Rect Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ellipse. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Layers.Β  Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΎΠ±Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Subtract Selection, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ ниТнюю Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΡ€ΡƒΠ³Π° Π² пСрСсСчСнной области.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρƒ нас получится ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Эллипса, Π° Π² слоях (Layers) ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»Π°ΡΡŒ Π³Ρ€ΡƒΠΏΠΏΠ° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Subtract. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Ρ‘ ΠΈ сдСлайтС копию Rect1. Π”Π°Π»ΡŒΡˆΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ скопированный Rect1, для этого Π² настройках установитС ΡƒΠ³ΠΎΠ» 135 градусов, ΠΈ пСрСмСститС Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пСрСсСчСния ΠΊΡ€ΡƒΠ³Π°. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅:

Π§Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ это Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ всСм элСмСнтам ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствия. УдаляСм ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ:

Если всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сдСлали, Ρ‚ΠΎ получится Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ:

Боздавая Π΄ΠΈΠ·Π°ΠΉΠ½ для смартфонов, Π²Π°ΠΌ потрСбуСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ с этим Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ. ДСлаСтся это ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ΅, Π·Π°Ρ‚Π΅ΠΌ выбираСтся Outline stroke.Β 

ПослС этого всС слои ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠœΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ тСстовый ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ΄ смартфоны Π½Π°ΠΌ понадобится ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌ, для этого Π½Π°ΠΆΠΌΠ΅ΠΌ Frame ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ iPhone 11.Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΠΌ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ полоску высотой Π² 35 пиксСлСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π»Π° ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ всю Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π°ΠΉΡ„ΠΎΠ½Π°. ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΠ΅ΠΌ Ρ‚ΡƒΠ΄Π° наш Subtract, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сдСлав Π·Π°Π»ΠΈΠ²ΠΊΡƒ (Fill) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠΎΠ½Ρ‚ΡƒΡ€ (Stroke).Β 

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ярлык, для этих Ρ†Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ frame, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² template. Π¨ΠΈΡ€ΠΈΠ½Π° ΠΈ высота Π±ΡƒΠ΄Π΅Ρ‚ 200 пиксСлСй. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ. ДСлаСтся это Ρ‚Π°ΠΊ: ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² мСню ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ View->Rulers. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ Π»ΠΈΠ½Π΅ΠΉΠΊΠ°, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Rulers ΠΈ, удСрТивая ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΊΠΈ, пСрСтаскиваСм курсор Π½Π° template. ДобавляСм Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ располагался Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ это выглядит Ρ‚Π°ΠΊ:

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ. На ΡƒΠ³Π»Π°Ρ… появятся Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ пСрСнос ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅:

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Fill Π±Π΅Π»ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, Π° Stroke Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ PolygonBg. Π•Π³ΠΎ слСдуСт Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π½ΠΈΠΆΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΠΌ края ΠΊΠΎΠΏΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠΌ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€.

Π‘Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π²Π° слоя Ctrl+G ΠΈ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Network. Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Ρƒ PolygonBg Π½Π° сСрый. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ пСрСнСсём Π½Π° frame iPhone. Π’Π΅ΠΏΠ΅Ρ€ΡŒ приступим ΠΊ созданию Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ. Она Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ², Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… молния. Π’ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° создавали Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρƒ нас сохранился frame template. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ для рисования Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ².

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΎΠ΄ΠΈΠ½ большой, Π΄Ρ€ΡƒΠ³ΠΎΠΉ помСньшС. Π‘Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌ, пСрСтаскиваСм ΠΌΡ‹ΡˆΠΊΠΎΠΉ, удСрТивая ΠΊΠ»Π°Π²ΠΈΡˆΡƒ alt.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π΄Π²Π° Π±Π»ΠΎΠΊΠ°, ΠΎΠ΄ΠΈΠ½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ, ΠΏΠΎΡ‚ΠΎΠΌ выдСляСм ΠΈΡ…, Π° дальшС Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ объСдинСниС. Π—Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° β€œUnion Selection”:

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° нарисуСм молнию, сущСствуСт ΠΏΠ°Ρ€Π° способов ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€ΠΎ, Π½ΠΎ ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅:

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅, ΠΎΠ΄Π½Π° ΠΈΠ· частСй выступаСт. Π•Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Ρ‘ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ β€œSubtract Selection”.

Π§Ρ‚ΠΎΠ±Ρ‹ всС части ΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ β€œUnion Selection”. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ соСдинятся. Назовём Π³Ρ€ΡƒΠΏΠΏΡƒ β€œlightning”. Если ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ, Ρ‚ΠΎ Ρƒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° прямой ΠΊΡ€Π°ΠΉ, Π° Π½ΡƒΠΆΠ΅Π½ ΡƒΠ³ΠΎΠ». Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ lighting, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ рСдактирования ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π·Π°Ρ…Π²Π°Ρ‚ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΈ вытягиваСм Π΅Π³ΠΎ.

Наш шаблон ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ², Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ всС части ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ. На этот Ρ€Π°Π· ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Exclude. Она Π΄Π΅Π»Π°Π΅Ρ‚ сквозноС мСсто Π½Π° участкС Ρ‚Π°ΠΌ, Π³Π΄Π΅ располоТСна молния.Β 

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ пСрСнСсти ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ярлыкам Π½Π° смартфонС. ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ высоты ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΈΠ½ΠΈΠΈ сохранят Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ, ΠΈΠ·-Π·Π° этого качСство изобраТСния пострадаСт. Π§Ρ‚ΠΎΠ±Ρ‹ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ пСрСвСсти всС Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ. Для этого слСдуСт Ρ‰Ρ‘Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ β€œOutline Stroke”. ПослС этого появится Π΄Π²Π° слоя – ΠΎΠ΄ΠΈΠ½, Stroke (ΠΊΠΎΠ½Ρ‚ΡƒΡ€), Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Fill (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅). Нам понадобятся ΠΎΠ±Π°. ВыдСляСм, Π΄Π΅Π»Π°Π΅ΠΌ resize, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌ смартфона.Β 

Маски

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

Разрабатывая Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠ½ΠΎΠ³Π΄Π° появляСтся Π·Π°Π΄Π°Ρ‡Π°, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт ΠΏΠΎΠ²Π΅Ρ€Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ. Π‘Π½Π°Ρ‡Π°Π»Π° рисуСм rectangle ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, RectBg. Π‘Π²Π΅Ρ€Ρ…Ρƒ добавляСм object, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΡ€ΡƒΠ³. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π·Π°Π΄Π½ΠΈΠΉ Ρ„ΠΎΠ½ Π½Π΅Π΄Π°Π²Π½ΠΎ созданного ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ mask. Π”Π°Π»ΡŒΡˆΠ΅ Π² свойствах RectBg вмСсто Ρ†Π²Π΅Ρ‚Π° устанавливаСм Gradient. ΠžΠ±Ρ€Π°Π·Π΅Ρ† Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅:

Когда трСбуСтся ΡƒΠΊΡ€Π°ΡΠΈΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½, Π³Π΄Π΅ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ выступаСт ΠΈΠ·-Π·Π° Π³Ρ€Π°Π½ΠΈΡ†, Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ jpg, ΠΈ png Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° пСрСмСстим ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола ΠΈ свСрху Π½Π°Π»ΠΎΠΆΠΈΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π·ΠΎΠ²Π΅ΠΌ FonRect, дальшС примСняСм Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ radial ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠΎ Π±ΠΎΠΊΠ°ΠΌ получился эффСкт туманности, сгруппируСм наши слои ΠΈ свСрху размСстим png Ρ„Π°ΠΉΠ» Π»ΠΎΠ΄ΠΊΠΈ, которая Π±Ρ‹Π»Π° Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Ρ€Π΅Π·Π°Π½Π° ΠΈΠ· Ρ„ΠΎΡ‚ΠΎ. Рисунок Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½:

Когда Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Π΄Π΅ ΠΈΠ· ΠΊΡ€ΡƒΠ³Π»ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° появляСтся ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ. Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹. Π’ Π½Π°Ρ‡Π°Π»Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π±Ρ‹Π» ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ рисованного пСрсонаТа с Π³Π°Π΅Ρ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΡ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈ рисунок Π² png Ρ„Π°ΠΉΠ». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ холст ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, Π½ΡƒΠΆΠ½ΠΎ: Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³, Π·Π°Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Ρ†Π²Π΅Ρ‚ ΠΈ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ снизу ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ. Π’Ρ‹Π±Ρ€Π°Π² Ellipse, примСняСм маску.Β 

Π Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ исчСз, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части изобраТСния ΡΠΊΡ€Ρ‹Π»ΠΈΡΡŒ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ color, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ маску ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ· Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°, Π½Π°ΠΆΠ°Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π½Π° инструмСнт. Π”Π°Π»ΡŒΡˆΠ΅ слСгка Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρƒ ΠΊΠΎΠΏΠΈΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ слой people 1 ΠΈ Ρ‚ΠΎΠΆΠ΅ создадим Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚. ИзмСнСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚, всС изобраТСния ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ скрыты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ скопированный рисунок, Π½ΡƒΠΆΠ½ΠΎ послСдниС Ρ‚Ρ€ΠΈ слоя ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Β Β 

ΠœΠ΅Ρ…Π°Π½ΠΈΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΊΠ°Π·Π°Π½, Π΄Π΅Π»Π°Π΅ΠΌ эффСкт Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ выглядываСт ΠΈΠ· ΠΊΡ€ΡƒΠ³Π°. ΠžΠ±Ρ€Π΅Π·Π°Π΅ΠΌ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, для этого Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт, β€œcrop image”.Β 

По ΠΌΠ΅Ρ€Π΅ надобности Π² Ellipse 2 ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π° окруТности, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠŸΠ΅Ρ€ΠΎ: учимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΡ€ΠΈΠ²Ρ‹ΠΌΠΈ Π‘Π΅Π·ΡŒΠ΅ ΠΈ создаСм ΡΠ΅Ρ€ΠΈΡŽ ΠΈΠΊΠΎΠ½ΠΎΠΊ

Π”Π°Π½Π½Ρ‹ΠΉ инструмСнт ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π½Π΅ справятся с поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ pen, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈΒ  Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅ΠΉ β€œΠΏΠ΅Ρ€ΠΎβ€ ΠΈ с нСбольшим ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСсколько Ρ‚ΠΎΡ‡Π΅ΠΊ. Π§Π΅ΠΌ большС ΠΏΠΎΠΌΠ΅Ρ‚ΠΎΠΊ Π²Ρ‹ сдСлаСтС, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.Β 

ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°ΠΌ удаСтся Π·Π° ΠΎΠ΄ΠΈΠ½ Π·Π°Ρ…ΠΎΠ΄ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Они ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ, ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·Π³ΠΈΠ±Π° Π»ΠΈΠ½ΠΈΠΈ. Π’ случаС с Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ β€” это Π΄Π΅Π»Π°Ρ‚ΡŒ нСбольшиС ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ устанавливая Ρ‚ΠΎΡ‡ΠΊΠΈ, Π° ΠΏΠΎΡ‚ΠΎΠΌ с Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.Β 

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ нарисуСм Ρ„Ρ€ΡƒΠΊΡ‚ β€œΠ³Ρ€ΡƒΡˆΡƒβ€. Π Π°ΡΡ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² основном состоит ΠΈΠ· ΠΈΠ·Π³ΠΈΠ±ΠΎΠ² поэтому β€œΠΏΠ΅Ρ€ΠΎβ€ Π±ΡƒΠ΄Π΅Ρ‚ кстати. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, создадим ΠΊΠΎΠ½Ρ‚ΡƒΡ€, Π΄ΠΎΠ±Π°Π²ΠΈΠ², Ρ‚ΠΎΡ‡ΠΊΠΈ. Когда дСлаСшь зарисовку ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, Π½ΡƒΠΆΠ½ΠΎ, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ β€œΠΏΠΎΠΈΠ½Ρ‚Ρ‹β€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡΡ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ с ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ. Β 

Π‘Ρ‚Π°Π²ΠΈΠΌ point, ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Π² ΠΈΡ‚ΠΎΠ³Π΅ Ρƒ нас получится.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ нас получился, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ рСдактирования ΠΈ Π±Ρ‹Π»Π° Π±Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. ΠŸΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ появятся Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… β€œBend Tool”. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ·Π³ΠΈΠ±Ρ‹ для этого Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ctrl, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Bend Tool Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΌΡ‹ΡˆΠΊΠΎΠΉ вСсти Π² любоС направлСния.

Π”Π΅Π»Π°Π΅ΠΌ Π·Π°ΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹Π΅ края с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π’Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, слСдуСт Π²ΠΎΠ³Π½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π³Ρ€ΡƒΡˆΠΈ, Ρ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ кисточка. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ, ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² сгиб, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ”БСндом”. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ·Π³ΠΈΠ±, ΠΏΠΎΡ‚ΠΎΠΌ Π²Π·ΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Для большСй рСалистичности слСдуСт ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚, это дСлаСтся Π»Π΅Π³ΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойство Fill, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌ color.Β Β 

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π½ΠΈΠΆΠ΅, плюс кисточка.

ΠšΡ€ΠΈΠ²Ρ‹Π΅ бизьС подходят для зарисовки ΠΈΠΊΠΎΠ½ΠΎΠΊ. РазумССтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ярлык Π² свой ΠΌΠ°ΠΊΠ΅Ρ‚ достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ plugin β€œFont Awesome Icons” ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π² стандартном Π½Π°Π±ΠΎΡ€Π΅. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ для этого ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚.Β 

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, создадим холст для рисования. Π Π°Π·ΠΌΠ΅Ρ€ проставим 200 Π½Π° 200 пиксСлСй.

На холстС ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, машинки ΠΈ ΠΊΡ€ΡƒΠΆΠΊΠΈ.Β 

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ количСство Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅. ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ рСдактирования, просто Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ рисунка ΠΈ point Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΡΡ. ΠžΠ±Ρ€Π°Π·Π΅Ρ† ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° рисункС Π²Ρ‹ΡˆΠ΅, Ρ‚Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΡ€ΡƒΠΆΠΊΠΈ послС рСдактирования количСство ΠΊΡ€ΡƒΠΆΠΊΠΎΠ² ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΠ»ΠΎΡΡŒ.Β 

ПослСднСС дСйствиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ рисунок Π±Ρ‹Π» ΠΏΠΎΡ…ΠΎΠΆ Π½Π° icons, трСбуСтся β€œFrame 1” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ rectangle. Π£ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ fill Π±Π΅Π»ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΈ stroke Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ, послС этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ 50Γ—50.

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с изобраТСниями?

Π‘Π°ΠΌΡ‹ΠΉ простой способ, это пСрСнСсти Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠ² с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ послС этого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. БСрвис figma ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС популярныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹.Β 

  • Png – с ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… Π±Ρ‹Π»ΠΈ Π±Ρ‹ скрыты.
  • Jpg – обычная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, сущСствСнный нСдостаток β€” тСряСтся качСство ΠΏΡ€ΠΈ сохранСнии.Β 
  • Gif – анимированная Π³ΠΈΡ„ΠΊΠ°. ΠŸΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π° Ρ„Ρ€Π΅ΠΉΠΌΠ° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ главная страница, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³ΠΈΡ„ΠΊΡƒ. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ событиС, Π³Π΄Π΅ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ анимация.

Π£ image Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ – ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠΈ, ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ свойства: ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π΅Π½ΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для jpg ΠΈ png Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Ρƒ gif, откроСтся ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠΎΠΌ, ΠΊΠ°ΠΊ Ρƒ Π²ΠΈΠ΄Π΅ΠΎ проигрывания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.Β 

Бписок всСх настроСк:

  1. Exposure – устанавливаСт ΡΡ€ΠΊΠΎΡΡ‚ΡŒ, плюс – свСтло, минус – Ρ‚Π΅ΠΌΠ½ΠΎ.
  2. Contrast – ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ
  3. Saturation – Π½Π°ΡΡ‹Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ, плюс – Ρ†Π²Π΅Ρ‚Π° Π±ΠΎΠ»Π΅Π΅ насыщСнныС, минус – ΠΏΠ΅ΠΉΠ·Π°ΠΆ становится Π±Π»Π΅ΠΊΠ»Ρ‹ΠΌ ΠΈ Π΄Π°ΠΆΠ΅ Ρ‡Π΅Ρ€Π½ΠΎ-Π±Π΅Π»Ρ‹ΠΌ. Β Β 
  4. Temperature – плюс β€” эффСкт солнцС ΠΆΠ΅Π»Ρ‚ΠΎΠ²Π°Ρ‚Ρ‹ΠΉ ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ ΠΏΠΎ всСму Ρ„ΠΎΡ‚ΠΎ, минус – Π·ΠΈΠΌΠ½ΠΈΠΉ эффСкт, Ρ„ΠΎΡ‚ΠΎ становится синим ΠΏΠΎΠ΄ Ρ†Π²Π΅Ρ‚ Π·ΠΈΠΌΠ½Π΅ΠΉ стуТи.
  5. Tint – прСдлагаСтся ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ Π·Π° основу взяв Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ модСль RGB. ΠŸΡ€ΠΈ плюсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ красноватый ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ, Π±Π»ΠΈΠΆΠ΅ ΠΊ Π²ΠΈΡˆΠ½Ρ‘Π²ΠΎΠΌΡƒ,Β  ΠΏΡ€ΠΈ минусС β€” color станСт Π·Π΅Π»Π΅Π½Ρ‹ΠΌ.
  6. Нighlights – выдСляСт подсвСткой Π²Π°ΠΆΠ½Ρ‹Π΅ части Ρ„ΠΎΡ‚ΠΎ.
  7. Shadows – Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅Π½ΠΈ Ρ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ сСрыС.

Π’Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ рСгуляторы ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠΎΠ², ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список. На Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню.

  1. Fill – ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π½ΠΎ ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‡Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π° обрСзаСтся.
  2. Fit – ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, ΠΏΡ€ΠΈ этом ΠΎΠ½Π° отобраТаСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎ врСмя ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.
  3. Crop – ΠΎΠ±Ρ€Π΅Π·Π°Π½ΠΈΠ΅, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΠ² Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, ΠΎΠ± этом написано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ β€œΠΌΠ°ΡΠΊΠΈβ€.
  4. Tile – ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ снимками, УмСньшая ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€, количСство ΠΊΠΎΠΏΠΈΠΉ увСличиваСтся.

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

Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρ‹ Π€ΠΈΠ³ΠΌΠ° для создания ΠΊΠ½ΠΎΠΏΠΎΠΊ

Кнопки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ². БущСствуСт цвСтовая ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°, которая накладываСтся ΠΏΠΎΠ²Π΅Ρ€Ρ… β€œbutton”. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Fill ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ†Π²Π΅Ρ‚ ΠΈ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚. Для эффСкта присутствуСт Π²ΠΊΠ»Π°Π΄ΠΊΠ° prototype, с Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ устанавливаСтся связь. Настроив свойства Π² ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅, ΠΏΡ€ΠΈ тСстировании Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄. Π’ΠΎΡ‚ ΠΎΠΊΠ½Π° с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°.

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ здСсь событиС onTap, это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² настройках установлСно iPhone 11. Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° событиС onClick, для этого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ β€œShow prototype settings”, послС этого Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ device Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ спискС устройство, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€œNone” ΠΈ Ρ‚ΠΎΠ³Π΄Π° дСйствия Ρƒ связи ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° смСнится с onTap Π½Π° onClick. Β 

Π”ΠΈΠ·Π°ΠΉΠ½-систСма: стили Ρ†Π²Π΅Ρ‚Π°

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ€ Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ряд Π½ΠΎΠ²Ρ‹Ρ…. Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² свойство Fill, Π² Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ настраиваСм Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π°, Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ ярлыку β€œStyle” ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, сохраняСм. Если трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» β€” прописываСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ ΠΈ имя Ρ†Π²Π΅Ρ‚Π°.Β 

Π”ΠΈΠ·Π°ΠΉΠ½-систСма: стили тСкста 

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ тСкст. НастраиваСм Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°, Ρ‚ΠΈΠΏ, ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ сохраняСм ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ произвСсти Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ тСкста. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡƒΠΆΠ΅Β  созданныС ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Text Style, Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠΊΠΎΠ½ΠΊΠ΅ ΠΈ мСняСм ΠΎΠΏΡ†ΠΈΠΈ.Β Β Β 

Π”ΠΈΠ·Π°ΠΉΠ½-систСма: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π’ figme присутствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ части интСрфСйса ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ надобности. Для этих Ρ†Π΅Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ β€œCreate Component”. Π‘Π»ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, копия являСтся привязкой ΠΊ основному ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ. Π”Π°Π»ΡŒΡˆΠ΅ рисуСм Π΅Ρ‰Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΈΡ… Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, послС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρƒ ΠΊΠΎΠΏΠΈΠΈΒ  появится Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список β€œSwap Instance”, Ρ‚Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ любой component.Β 

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ Π² Swap Instance ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ β€œΠΏΠ΅Ρ€ΠΎ, ΡˆΠ΅ΡΡ‚Π΅Ρ€Ρ‘Π½ΠΊΠ° ΠΈ корзина”, это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ· β€œFont Awesome Icons” ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Иногда ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ стоит Ρ†Π΅Π»ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ части интСрфСйса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ button ΠΈ icons сущСствовали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, для этого Π΅ΡΡ‚ΡŒ функция влоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ выглядСло ΠΊΠ°ΠΊ ΠΏΠ°ΠΏΠΊΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² слоях ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ β€œRename”, Π° дальшС ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π°, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ части интСрфСйса. БущСствуСт быстрый способ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ, удСрТивая ΠΊΠ»Π°Π²ΠΈΡˆΡƒ shift, Π° ΠΏΠΎΡ‚ΠΎΠΌ β€œrename”. Π”Π°Π»ΡŒΡˆΠ΅ вписываСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ ΠΈ добавляСм Π΄Π²Π° символа ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅.Β 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ, Ρ‚ΠΎ ΠΆΠ΅ самоС Π΄Π΅Π»Π°Π΅ΠΌ ΠΈ с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ β€œSwap Instance” Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π΄Π²Π° Ρ€Π°Π·Π΄Π΅Π»Π° buttons ΠΈ icons.Β 

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ: для быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСкомСндуСтся Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ряд стилСй, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ сущСствСнно сэкономит врСмя. Набор графичСских шаблонов ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ Ρ†Π²Π΅Ρ‚Π°, стилизации тСкста, измСнСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.Β 

РисованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ|ДокумСнтация

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

[ Π‘ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ]

РисованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ

Π‘ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Aspose.Imaging Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ простыС Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΈ ΠΊΡ€ΡƒΠ³ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ слоТныС Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΊΡ€ΠΈΠ²Ρ‹Π΅, Π΄ΡƒΠ³ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π‘Π΅Π·ΡŒΠ΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Aspose.Imaging создаСт Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса Graphics, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² пространствС ΠΈΠΌΠ΅Π½ Aspose.Imaging. ГрафичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рисования Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Ρ‚Π΅ΠΌ самым измСняя ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ изобраТСния. Класс Graphics ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ„ΠΈΠ³ΡƒΡ€:

  • ΠŸΠ΅Ρ€ΡŒΡ для рисования Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ±Π²ΠΎΠ΄ΠΊΠΈ Ρ„ΠΈΠ³ΡƒΡ€ ΠΈΠ»ΠΈ создания Π΄Ρ€ΡƒΠ³ΠΈΡ… гСомСтричСских ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
  • ΠšΠΈΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ способ заполнСния областСй.
  • Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹ для опрСдСлСния Ρ„ΠΎΡ€ΠΌΡ‹ символов тСкста.

РисованиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса Graphics

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ использованиС класса Graphics. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±Ρ‹Π» Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° нСсколько частСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ простым ΠΈ понятным. Π¨Π°Π³ Π·Π° шагом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·.
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Graphics.
  3. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ.
  4. ΠΠ°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ эллипс.
  5. НарисуйтС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ сохранитС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·Π°

НачнитС с создания ΠΎΠ±Ρ€Π°Π·Π° Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², описанных Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Graphics

Π—Π°Ρ‚Π΅ΠΌ создайтС ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Graphics, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Image Π΅Π³ΠΎ конструктору.

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Graphics, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear класса Graphics ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Ρ†Π²Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ заполняСт ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Graphics Ρ†Π²Π΅Ρ‚ΠΎΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

РисованиС эллипса

Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ класс Graphics прСдоставляСт мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для рисования ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Ρ„ΠΈΠ³ΡƒΡ€. Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² справочникС Aspose.Imaging for .NET API. БущСствуСт нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… вСрсий ΠΌΠ΅Ρ‚ΠΎΠ΄Π° DrawEllipse, прСдоставляСмых классом Graphics. ВсС эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Pen Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ для опрСдСлСния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ эллипса. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Rectangle Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ эллипс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Pen ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°.

НарисуйтС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

Π—Π°Ρ‚Π΅ΠΌ нарисуйтС ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LinearGradientBrush ΠΈ массива Ρ‚ΠΎΡ‡Π΅ΠΊ. Класс Graphics прСдоставляСт нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… вСрсий ΠΌΠ΅Ρ‚ΠΎΠ΄Π° FillPolygon(). ВсС ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Brush Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ характСристики Π·Π°Π»ΠΈΠ²ΠΊΠΈ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” это массив Ρ‚ΠΎΡ‡Π΅ΠΊ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² массивС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ сторону ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Aspose.Graphics

Aspose.Imaging Graphics ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ измСрСния строки. Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для Π½Π΅Π³ΠΎ.

РисованиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ: ΠΏΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄

ВсС классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ IDisposable ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ нСуправляСмым рСсурсам, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Using, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅.

РисованиС тСкста Π½Π° изобраТСниях с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Graphics

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Aspose. Imaging, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ тСкст Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ тСкста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Graphics.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ стратСгии памяти

ГрафичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ стратСгии памяти, Ρ‚.Π΅. ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° памяти для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π“Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Compose | Jetpack Compose

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

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ рисунок с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ

DrawScope

Основной способ рисования Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ нСстандартного Π² Compose β€” это использованиС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.drawWithContent , Modifier. drawBehind ΠΈ ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.drawWithCache .

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ drawBehind ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для Π½Π°Ρ‡Π°Π»Π° выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ рисования:

 Spacer(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        .fillMaxSize ()
        .drawBehind {
            // это = DrawScope
        }
) 

CanvasSnippets.kt

Если всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, это ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСт, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π₯олст Боставной. Боставной холст Canvas прСдставляСт собой удобная ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ Modifier. drawBehind . Π’Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Canvas Π² свой ΠΌΠ°ΠΊΠ΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Compose. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Canvas , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ элСмСнты с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΈΡ… стиля ΠΈ располоТСниС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Под ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Compose полагаСтся Π½Π° холст ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π½Π° основС прСдставлСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ассоциированныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Однако Compose ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹Ρ… аспСкты Π₯олст . НапримСр, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ графичСских элСмСнтов, основанных Π½Π° прСдставлСниях, ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Π½Π° Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Paint . Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ устанавливаСтС Π² Paint ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ установили Π² Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Paint Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Compose позаботится ΠΎΠ± этих дСталях Π·Π° вас.

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

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ рисования Π½Π° DrawScope . Для НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ рисуСт ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π°. экран:

 kt" data-region-tag="android_compose_graphics_canvas_circle" dir="ltr"> Canvas(modifier = Modifier.fillMaxSize()) {
    val canvasQuadrantSize = Ρ€Π°Π·ΠΌΠ΅Ρ€ / 2F
    Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠŸΡ€ΡΠΌΠΎ(
        Ρ†Π²Π΅Ρ‚ = Π¦Π²Π΅Ρ‚.ΠŸΡƒΡ€ΠΏΡƒΡ€Π½Ρ‹ΠΉ,
        Π Π°Π·ΠΌΠ΅Ρ€ = CanvasQuadrantSize
    )
} 

CanvasSnippets.kt

Рисунок 1 . ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, нарисованный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Canvas Π² Compose.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… рисования, см. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. докумСнтация.

БистСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π½Π° экранС, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ смСщСниС ( x ΠΈ y ) ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ваш Ρ‚ΠΎΠ²Π°Ρ€. ΠŸΡ€ΠΈ использовании ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² рисования Π² DrawScope ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ значСниями ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ помСститС элСмСнт Π½Π° [0, 0] Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° холстС ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заполняСт всю ΠΎΠ±Π»Π°ΡΡ‚ΡŒ рисования, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ — ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ располоТСн Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ вашСго ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Compose.

Начало систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ( [0,0] ) находится Π² самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ пиксСлС Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ рисования. x увСличиваСтся ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Π²ΠΏΡ€Π°Π²ΠΎ, Π° y увСличиваСтся ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Π²Π½ΠΈΠ·.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рисования Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с использованиСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² пиксСлях. Для обСспСчСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Π°ΡˆΠΈΡ… элСмСнтов для Ρ€Π°Π·Π½Ρ‹Ρ… плотностСй устройств ΠΈ экранов Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ· dp , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ .toPx() , Π»ΠΈΠ±ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ Π² долях Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Рисунок 2 . БистСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°/сСтка Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°.

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ провСсти Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ линию ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ холста Π² Π½ΠΈΠΆΠ½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DrawScope. drawLine() ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ смСщСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ x ΠΈ y:

 Canvas(modifier = Modifier.fillMaxSize()) {
    Π’Π°Π» CanvasWidth = Π Π°Π·ΠΌΠ΅Ρ€.Π¨ΠΈΡ€ΠΈΠ½Π°
    Π’Π°Π» CanvasHeight = Ρ€Π°Π·ΠΌΠ΅Ρ€.высота
    Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠ›ΠΈΠ½ΠΈΡŽ(
        Π½Π°Ρ‡Π°Π»ΠΎ = смСщСниС (x = ΡˆΠΈΡ€ΠΈΠ½Π° холста, y = 0f),
        ΠΊΠΎΠ½Π΅Ρ† = смСщСниС (x = 0f, y = canvasHeight),
        Ρ†Π²Π΅Ρ‚ = Π¦Π²Π΅Ρ‚.Π‘ΠΈΠ½ΠΈΠΉ
    )
} 

CanvasSnippets.kt

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ прСобразования

DrawScope ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ прСобразования для измСнСния Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рисования ΠΊΠ°Π·Π½Π΅Π½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΈ прСобразования ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этапС рисования составного ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» β€” Π»ΡŽΠ±Ρ‹Π΅ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ полоТСния Π½Π΅ измСнят Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов, Ссли ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ВСсы

ИспользованиС DrawScope.scale() Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рисования Π² нСсколько Ρ€Π°Π·. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ scale() ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎ всСм опСрациям рисования Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ лямбды. Для Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π± X 10 Ρ€Π°Π· ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π± Y 15 Ρ€Π°Π·:

 Canvas(modifier = Modifier.fillMaxSize()) {
    шкала (шкалаX = 10f, шкалаY = 15f) {
        drawCircle(Π¦Π²Π΅Ρ‚.Π‘ΠΈΠ½ΠΈΠΉ, радиус = 20.dp.toPx())
    }
} 

CanvasSnippets. kt

Рисунок 3 . ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΊΡ€ΡƒΠ³Ρƒ Π½Π° холстС.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄

ИспользованиС DrawScope.translate() для пСрСмСщСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рисования Π²Π²Π΅Ρ€Ρ…, Π²Π½ΠΈΠ·, Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ рисунок Π½Π° 100 пиксСлСй Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ Π½Π° 300 пиксСлСй Π²Π²Π΅Ρ€Ρ…:

 Canvas(modifier = Modifier.fillMaxSize()) {
    пСрСвСсти (слСва = 100f, свСрху = -300f) {
        drawCircle(Π¦Π²Π΅Ρ‚.Π‘ΠΈΠ½ΠΈΠΉ, радиус = 200.dp.toPx())
    }
} 

CanvasSnippets.kt

Рисунок 4 . ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΊ ΠΊΡ€ΡƒΠ³Ρƒ Π½Π° холстС.

ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚

ИспользованиС DrawScope. rotate() для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рисования Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ‚ΠΎΡ‡ΠΊΠΈ вращСния. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π½Π° 45 градусов:

 Canvas(modifier = Modifier.fillMaxSize()) {
    ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ (градусы = 45F) {
        Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠŸΡ€ΡΠΌΠΎ(
            Ρ†Π²Π΅Ρ‚ = Π¦Π²Π΅Ρ‚.Π‘Π΅Ρ€Ρ‹ΠΉ,
            topLeft = Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ (x = Ρ€Π°Π·ΠΌΠ΅Ρ€.ΡˆΠΈΡ€ΠΈΠ½Π°/3F, y = Ρ€Π°Π·ΠΌΠ΅Ρ€.высота/3F),
            Ρ€Π°Π·ΠΌΠ΅Ρ€ = Ρ€Π°Π·ΠΌΠ΅Ρ€ / 3F
        )
    }
} 

CanvasSnippets.kt

Рисунок 5 . ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ rotate() , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области рисования, которая ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π½Π° 45 градусов.

Вставка

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ DrawScope.inset() для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ DrawScope , ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ† Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ΅ΠΉ соотвСтствСнно:

 kt" data-region-tag="android_compose_graphics_canvas_inset" dir="ltr"> Canvas(modifier = Modifier.fillMaxSize()) {
    val canvasQuadrantSize = Ρ€Π°Π·ΠΌΠ΅Ρ€ / 2F
    вставка (ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ = 50f, ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ = 30f) {
        drawRect(color = Color.Green, size = canvasQuadrantSize)
    }
} 

CanvasSnippets.kt

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ эффСктивно добавляСт отступы ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ рисования:

Рисунок 6 . ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ вставки ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ рисования.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ прСобразования

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ мноТСствСнныС прСобразования ΠΊ вашим Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ѐункция DrawScope.withTransform() , которая создаСт ΠΈ примСняСт ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Π΅ измСнСния. Π‘ использованиСм withTransform() Π±ΠΎΠ»Π΅Π΅ эффСктивСн, Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… прСобразования, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ всС прСобразования Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ вмСстС Π² Сдиная опСрация, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Compose вычислял ΠΈ сохранял ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ прСобразования.

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ примСняСт ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ:

 Canvas(modifier = Modifier.fillMaxSize()) {
    с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ({
        пСрСвСсти (слСва = Ρ€Π°Π·ΠΌΠ΅Ρ€.ΡˆΠΈΡ€ΠΈΠ½Π°/5F)
        ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ (градусы = 45F)
    }) {
        Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠŸΡ€ΡΠΌΠΎ(
            Ρ†Π²Π΅Ρ‚ = Π¦Π²Π΅Ρ‚.Π‘Π΅Ρ€Ρ‹ΠΉ,
            topLeft = Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ (x = Ρ€Π°Π·ΠΌΠ΅Ρ€.ΡˆΠΈΡ€ΠΈΠ½Π°/3F, y = Ρ€Π°Π·ΠΌΠ΅Ρ€.высота/3F),
            Ρ€Π°Π·ΠΌΠ΅Ρ€ = Ρ€Π°Π·ΠΌΠ΅Ρ€ / 3F
        )
    }
} 

CanvasSnippets.kt

Рисунок 7 . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ с Transform , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΠ² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ сдвинув Π΅Π³ΠΎ Π²Π»Π΅Π²ΠΎ.

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рисования

РисованиС тСкста

Для рисования тСкста Π² Compose ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Text . Однако, Ссли Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² DrawScope ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ тСкст Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настройки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DrawScope.drawText() ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ тСкст, создайтС TextMeasurer с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ RememberTextMeasurer ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ drawText с ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»Π΅ΠΌ:

 val textMeasurer = RememberTextMeasurer()
Π₯олст (ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = Modifier.fillMaxSize()) {
    DrawText(textMeasurer, "ΠŸΡ€ΠΈΠ²Π΅Ρ‚")
} 

CanvasSnippets.kt

Рисунок 8 . НанСсСниС тСкста Π½Π° холст.
Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ тСкст

ВСкст для рисования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рисования. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Ρ‹ Π·Π°Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ рисования Ρ€Π°Π·ΠΌΠ΅Ρ€ (ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ/ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π‘ тСкстом Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ изобраТСния. тСкст, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°, ΡˆΡ€ΠΈΡ„Ρ‚, Π»ΠΈΠ³Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΠ΅ΠΆΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

Π‘ Compose Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TextMeasurer , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ тСкста Π² зависимости ΠΎΡ‚ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ Π·Π° тСкстом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ тСкст:

 val textMeasurer = RememberTextMeasurer()
Распорка(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        .drawWithCache {
            Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСряСмый тСкст =
                textMeasurer. measure(
                    Аннотированная строка (longTextSample),
                    ограничСния = Constraints.fixedWidth((size.width * 2f / 3f).toInt()),
                    ΡΡ‚ΠΈΠ»ΡŒ = TextStyle (Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° = 18.sp)
                )
            onDrawBehind {
                drawRect (Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, Ρ€Π°Π·ΠΌΠ΅Ρ€ = ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ тСкст. Ρ€Π°Π·ΠΌΠ΅Ρ€. Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ())
                DrawText (ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ тСкст)
            }
        }
        .fillMaxSize ()
) 

CanvasSnippets.kt

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Modifier.drawWithCache , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ рисуСмый тСкст являСтся дорогая опСрация. ИспользованиС drawWithCache ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ созданныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎ измСняСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ области рисования. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Modifier.drawWithCache докумСнтация.

Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° создаСт Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΠ½ для тСкста:

Рисунок 9 . ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ тСкст, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ β…” всСй ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ, с Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ.

Настройка ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈΠ»ΠΈ любого свойства, Π²Π»ΠΈΡΡŽΡ‰Π΅Π³ΠΎ Π½Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ сообщаСтся ΠΎ Π½ΠΎΠ²ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ для ΡˆΠΈΡ€ΠΈΠ½Ρ‹ , Ρ‚Π°ΠΊ ΠΈ для ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высота , Π° Π·Π°Ρ‚Π΅ΠΌ тСкст слСдуСт Π·Π° Π½Π°Π±ΠΎΡ€ΠΎΠΌ TextOverflow . Для НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ тСкст Π½Π° β…“ высоты ΠΈ β…“ ΡˆΠΈΡ€ΠΈΠ½Ρ‹. составной области ΠΈ устанавливаСт TextOverflow Π² TextOverflow.Ellipsis :

 val textMeasurer = RememberTextMeasurer()
Распорка(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        . drawWithCache {
            Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСряСмый тСкст =
                textMeasurer.measure(
                    Аннотированная строка (longTextSample),
                    ограничСния = ограничСния.fixed(
                        ΡˆΠΈΡ€ΠΈΠ½Π° = (Ρ€Π°Π·ΠΌΠ΅Ρ€.ΡˆΠΈΡ€ΠΈΠ½Π°/3f).toInt(),
                        высота = (Ρ€Π°Π·ΠΌΠ΅Ρ€.высота/3f).toInt()
                    ),
                    ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ = TextOverflow.ΠœΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅,
                    ΡΡ‚ΠΈΠ»ΡŒ = TextStyle (Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° = 18.sp)
                )
            onDrawBehind {
                drawRect (Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, Ρ€Π°Π·ΠΌΠ΅Ρ€ = ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ тСкст. Ρ€Π°Π·ΠΌΠ΅Ρ€. Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ())
                DrawText (ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ тСкст)
            }
        }
        .fillMaxSize ()
) 

CanvasSnippets.kt

ВСкст Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ рисуСтся Π² ограничСниях с ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½Ρ†Π΅:

Рисунок 10 . TextOverflow.Ellipsis с фиксированными ограничСниями Π½Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ тСкста. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ тСкстС см. Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ тСксту.

Draw image

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ImageBitmap с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DrawScope , Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ImageBitmap.imageResource() , Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ drawImage :

 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ dogImage = ImageBitmap.imageResource (id = R.drawable.dog)
Canvas(modifier = Modifier.fillMaxSize(), onDraw = {
    Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠ˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ собаки)
}) 

CanvasSnippets.kt

Рисунок 11 . РисованиС ImageBitmap Π½Π° холстС. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΠΌ. Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ настройкС изобраТСния для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΊ изобраТСниям.

РисованиС основных Ρ„ΠΈΠ³ΡƒΡ€

Π’ DrawScope прСдусмотрСно мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ рисования Ρ„ΠΈΠ³ΡƒΡ€. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ рисования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ drawCircle :

 val PurpleColor = Color(0xFFBA68C8)
Π₯олст(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        .fillMaxSize ()
        .padding(16.dp),
    onDraw = {
        DrawCircle (Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚)
    }
) 

CanvasSnippets.kt

904:00

API

Π’Ρ‹Ρ…ΠΎΠ΄

DrawCircle()

DrawRect()

DrawRoundedRect()

DrawLine()

DrawOval()

DrawArc()

Π’ΠΎΡ‡ΠΊΠΈ рисования()

ΠŸΡƒΡ‚ΡŒ рисования

ΠŸΡƒΡ‚ΡŒ β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ матСматичСских инструкций, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ рисованиС. ΠΊΠ°Π·Π½Π΅Π½. DrawScope ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° DrawScope.drawPath() .

НапримСр, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ lineTo() ΠΈ moveTo() , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ области рисования. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ drawPath() с этим вновь созданным ΠΏΡƒΡ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.

 Распорка(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        .drawWithCache {
            val ΠΏΡƒΡ‚ΡŒ = ΠŸΡƒΡ‚ΡŒ()
            ΠΏΡƒΡ‚ΡŒ.moveTo(0f, 0f)
            path.lineTo(size.width/2f, size.height/2f)
            path. lineTo (Ρ€Π°Π·ΠΌΠ΅Ρ€. ΡˆΠΈΡ€ΠΈΠ½Π°, 0f)
            ΠΏΡƒΡ‚ΡŒ.Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ()
            onDrawBehind {
                drawPath (ΠΏΡƒΡ‚ΡŒ, Color.Magenta, ΡΡ‚ΠΈΠ»ΡŒ = Stroke (ΡˆΠΈΡ€ΠΈΠ½Π° = 10f))
            }
        }
        .fillMaxSize ()
) 

CanvasSnippets.kt

Рисунок 12 . Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ рисованиС ΠΏΡƒΡ‚ΠΈ 9 0102 Π² Compose.

Доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ

Canvas

Π‘ DrawScope Ρƒ вас Π½Π΅Ρ‚ прямого доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Canvas . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DrawScope.drawIntoCanvas() для получСния доступ ΠΊ самому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Canvas , для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Drawable , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° canvas, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ холсту ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Drawable#draw() , ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Canvas ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

 kt" data-region-tag="android_compose_graphics_canvas_draw_into_canvas" dir="ltr"> val drawable = ShapeDrawable(OvalShape())
Распорка(
    ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
        .drawWithContent {
            drawIntoCanvas {холст ->
                drawable.setBounds(0, 0, size.width.toInt(), size.height.toInt())
                drawable.draw(холст.nativeCanvas)
            }
        }
        .fillMaxSize ()
) 

CanvasSnippets.kt

Рисунок 13 . Доступ ΠΊ холсту для рисования Drawable .

Π£Π·Π½Π°Ρ‚ΡŒ большС

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ рисовании Π² Compose см. Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рСсурсы:

  • ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ β€” ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… рисования ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.
  • ΠšΠΈΡΡ‚ΡŒ β€” ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ отрисовку вашСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Compose β€” Π‘Π°ΠΌΠΌΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Android 2022 – Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π² Compose with Layouts.
Автор записи

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

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