SVG chiziqli gradient
SVG gradientlar
Gradient — bir rangdan boshqa rangga silliq o‘tish. Bundan tashqari, bitta elementga bir nechta rang o‘tishlarini qo‘llash mumkin.
SVG’da gradientlarning ikki turi mavjud:
- Chiziqli gradientlar —
<linearGradient>bilan belgilanadi - Radial gradientlar —
<radialGradient>bilan belgilanadi
Gradient ta’riflari <defs> yoki <svg> elementi ichiga joylashtiriladi. <defs> elementi "definitions" (ta’riflar) so‘zining qisqartmasi bo‘lib, maxsus elementlar (masalan, gradientlar) ta’riflarini o‘z ichiga oladi.
Har bir gradientda uni aniqlaydigan id atributi bo‘lishi shart. So‘ngra grafika/rasm qaysi gradientdan foydalanishini shu identifikator orqali ko‘rsatadi.
SVG chiziqli gradient - <linearGradient>
<linearGradient> elementi chiziqli gradientni (bir rangdan boshqa rangga, bir yo‘nalishdan boshqa yo‘nalishga chiziqli o‘tishni) belgilash uchun ishlatiladi.
<linearGradient> elementi ko‘pincha <defs> elementi ichiga joylashtiriladi.
Chiziqli gradientlar gorizontal, vertikal yoki burchakli gradient sifatida belgilanishi mumkin:
- Gorizontal chiziqli gradientlar (bu standart holat) chapdan o‘ngga yo‘naladi (bunda x1 va x2 farq qiladi, y1 va y2 esa teng bo‘ladi)
- Vertikal chiziqli gradientlar yuqoridan pastga yo‘naladi (bunda x1 va x2 teng, y1 va y2 esa farq qiladi)
- Burchakli chiziqli gradientlar x1 va x2 farq qilganda hamda y1 va y2 farq qilganda hosil bo‘ladi
Gorizontal chiziqli gradient
Sariqdan qizilga o‘tuvchi gorizontal chiziqli gradientli ellips:
SVG kodi quyidagicha:
Misol
<svg height="150" width="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad1" x1="0%" x2="100%" y1="0%" y2="0%">
<stop offset="0%" stop-color="yellow" />
<stop offset="100%" stop-color="red" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>
O‘zingiz sinab ko‘ring »
Kod izohi:
<linearGradient>elementiningidatributi gradient uchun yagona nom belgilaydi<linearGradient>elementiningx1,x2,y1,y2atributlari gradientning x va y bo‘yicha boshlang‘ich va oxirgi nuqtalarini belgilaydi- Gradient ranglari ikki yoki undan ortiq
<stop>elementi bilan belgilanadi <stop>’dagistop-coloratributi gradient to‘xtash nuqtasining rangini belgilaydi<stop>’dagioffsetatributi gradient to‘xtash nuqtasi qayerda joylashishini belgilaydi<ellipse>elementiningfillatributi elementni "grad1" gradientiga bog‘laydi
Gorizontal chiziqli gradient
Sariqdan yashilga, so‘ng qizilga o‘tuvchi gorizontal chiziqli gradientli ellips:
SVG kodi quyidagicha:
Misol
<svg height="150" width="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad2" x1="0%" x2="100%" y1="0%" y2="0%">
<stop offset="0%" stop-color="yellow" />
<stop offset="50%" stop-color="green" />
<stop offset="100%" stop-color="red" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>
O‘zingiz sinab ko‘ring »
Vertikal chiziqli gradient
Sariqdan qizilga o‘tuvchi vertikal chiziqli gradientli ellips:
SVG kodi quyidagicha:
Misol
<svg height="150" width="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad3" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="yellow" />
<stop offset="100%" stop-color="red" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad3)" />
</svg>
O‘zingiz sinab ko‘ring »
Matnli gorizontal chiziqli gradient
Sariqdan qizilga o‘tuvchi gorizontal chiziqli gradientli ellips va ellips ichiga qo‘shilgan matn:
SVG kodi quyidagicha:
Misol
<svg height="150" width="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad4" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="yellow" />
<stop offset="100%" stop-color="red" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad4)" />
<text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
</svg>
O‘zingiz sinab ko‘ring »
Kod izohi:
<text>elementi matn qo‘shish uchun ishlatiladi
Burchakli chiziqli gradient
Sariqdan qizilga o‘tuvchi burchakli chiziqli gradientli ellips:
SVG kodi quyidagicha:
Misol
<svg height="150" width="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad5" x1="0%" y1="100%" x2="100%" y2="0%">
<stop offset="0%" stop-color="yellow" />
<stop offset="100%" stop-color="red" />
</linearGradient>
</defs>
<ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad5)" />
</svg>
O‘zingiz sinab ko‘ring »
SVG <linearGradient> atributlari
| Atribut | Tavsif |
|---|---|
| id | Majburiy. <linearGradient> elementi uchun yagona id belgilaydi |
| x1 | Gradient vektori boshlang‘ich nuqtasining x pozitsiyasi. Standart qiymat — 0% |
| x2 | Gradient vektori oxirgi nuqtasining x pozitsiyasi. Standart qiymat — 100% |
| y1 | Gradient vektori boshlang‘ich nuqtasining y pozitsiyasi. Standart qiymat — 0% |
| y2 | Gradient vektori oxirgi nuqtasining y pozitsiyasi. Standart qiymat — 0% |
| spreadMethod | Gradientning yoyilish usulini belgilaydi. Mumkin bo‘lgan qiymatlar: "pad", "reflect", "repeat". Standart qiymat — "pad" |
| href | Shablon sifatida ishlatiladigan boshqa <linearGradient> elementiga havolani belgilaydi |
| gradientUnits | x1, x2, y1, y2 uchun koordinatalar tizimini belgilaydi. Mumkin bo‘lgan qiymatlar: "userSpaceOnUse" va "objectBoundingBox". Standart qiymat — "objectBoundingBox" |
| gradientTransform | Gradient koordinatalar tizimiga qo‘shimcha transformatsiyani belgilaydi |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
