SVG naqshlar (pattern)


ULASHISH

SVG naqshlar (pattern) - <pattern>

<pattern> elementi biror maydonni qoplash uchun x va y koordinatalari bo‘yicha muntazam oraliqlarda qayta chiziladigan grafika yaratish uchun ishlatiladi.

Barcha SVG naqshlari <defs> elementi ichida belgilanadi. <defs> elementi "definitions" (ta’riflar) so‘zining qisqartmasi bo‘lib, maxsus elementlar (masalan, naqshlar) ta’riflarini o‘z ichiga oladi.

<pattern> elementida naqshni aniqlaydigan majburiy id atributi bor. So‘ngra grafika/rasm qaysi naqshdan foydalanishini shu identifikator orqali ko‘rsatadi.

Keyin <pattern> elementi ichiga to‘ldirish naqshi sifatida ishlatiladigan bitta yoki bir nechta elementni joylashtiramiz.


Oddiy naqsh misoli

Quyidagi misolda kichik aylanalar bilan to‘ldirilgan to‘rtburchak yaratiladi:

Sorry, your browser does not support inline SVG.

SVG kodi quyidagicha:

Misol

<svg width="400" height="110" xmlns="http://www.w3.org/2000/svg">   <defs>     <pattern id="patt1" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">       <circle cx="10" cy="10" r="10" fill="red" />     </pattern>   </defs>   <rect width="200" height="100" x="0" y="0" stroke="black" fill="url(#patt1)" /> </svg>
O‘zingiz sinab ko‘ring »

Kod izohi:

  • <pattern> elementining id atributi naqsh uchun yagona nom belgilaydi
  • <pattern> elementining x va y atributlari naqsh shakl ichida qanchalik uzoqdan boshlanishini belgilaydi
  • <pattern> elementining width va height atributlari naqshning kengligi va balandligini belgilaydi
  • <pattern> elementi ichidagi <circle> elementi to‘ldirish naqshining shaklini belgilaydi
  • <rect> elementining fill="url(#patt1)" atributi "patt1" naqshiga ishora qiladi
  • To‘rtburchak shu naqsh bilan to‘ldiriladi


Gradientli naqsh

Quyidagi misolda kichik och ko‘k to‘rtburchaklar va gradientli aylanalar bilan to‘ldirilgan to‘rtburchak yaratiladi:

Sorry, your browser does not support inline SVG.

SVG kodi quyidagicha:

Misol

<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">   <defs>     <linearGradient id="grad1">       <stop offset="0%" stop-color="white" />       <stop offset="100%" stop-color="red" />     </linearGradient>     <pattern id="patt2" x="0" y="0" width="0.25" height="0.25">       <rect x="0" y="0" width="50" height="50" fill="lightblue" />       <circle cx="25" cy="25" r="20" fill="url(#grad1)" fill-opacity="0.8" />     </pattern>   </defs>     <rect width="200" height="200" x="0" y="0" stroke="black" fill="url(#patt2)" /> </svg>
O‘zingiz sinab ko‘ring »

Kod izohi:

  • <pattern> elementining id atributi naqsh uchun yagona nom belgilaydi
  • <pattern> elementining x va y atributlari naqsh shakl ichida qanchalik uzoqdan boshlanishini belgilaydi
  • <pattern> elementining width va height atributlari naqshning kengligi va balandligini belgilaydi. Naqsh gorizontal bo‘yicha 4 marta va vertikal bo‘yicha 4 marta takrorlanishini istaymiz, shuning uchun balandlik va kenglikni 0.25 qilib belgilaymiz (ya’ni naqshning kengligi va balandligi umumiy maydon o‘lchamining 25% ini tashkil qiladi)
  • <pattern> elementi ichidagi <rect> elementi to‘ldirish naqshining bitta shaklini (50x50 o‘lchamli och ko‘k to‘rtburchak) belgilaydi
  • <pattern> elementi ichidagi <circle> elementi to‘ldirish naqshining yana bir shaklini (oqdan qizilga o‘tuvchi gradientli aylana) belgilaydi
  • <circle> elementining fill="url(#grad1)" atributi "grad1" gradientiga ishora qiladi
  • <rect> elementining fill="url(#patt2)" atributi "patt2" naqshiga ishora qiladi
  • To‘rtburchak shu naqsh bilan to‘ldiriladi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!