HTML SVG


ULASHISH

SVG (masshtablanuvchi vektor grafikasi)

SVG XML formatida vektor grafikasini belgilaydi, uni HTML sahifalarga to‘g‘ridan-to‘g‘ri joylashtirish mumkin.

SVG grafikalari masshtablanadigan bo‘lib, kattalashtirilganda yoki o‘lchami o‘zgartirilganda sifatini yo‘qotmaydi:

SVG Sorry, your browser does not support inline SVG.

SVG barcha asosiy brauzerlar tomonidan qo‘llab-quvvatlanadi.


SVG nima?

  • SVG — Scalable Vector Graphics (masshtablanadigan vektor grafikasi) so‘zlarining qisqartmasi
  • SVG veb uchun vektor grafikasini belgilashda ishlatiladi
  • SVG grafikalarni XML formatida belgilaydi
  • SVG fayllaridagi har bir element va atribut animatsiya qilinishi mumkin
  • SVG — W3C tavsiyasi (recommendation)
  • SVG boshqa standartlar, masalan CSS, DOM, XSL va JavaScript bilan integratsiya qilinadi

<svg> elementi

HTML <svg> elementi SVG grafikalari uchun konteyner hisoblanadi.

SVG da yo‘llar (paths), to‘rtburchaklar, doiralar, ko‘pburchaklar, matn va yana ko‘p narsalarni chizishning bir nechta usullari mavjud.


SVG doira

Sorry, your browser does not support inline SVG.

Misol

<!DOCTYPE html>
<html>
<body>

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>

</body>
</html>
O‘zingiz sinab ko‘ring »


SVG to‘rtburchak

Sorry, your browser does not support inline SVG.

Misol

<svg width="400" height="120">
  <rect x="10" y="10" width="200" height="100" stroke="red" stroke-width="6" fill="blue" />
</svg>
O‘zingiz sinab ko‘ring »

Shaffoflik va yumaloq burchakli SVG to‘rtburchak

Sorry, your browser does not support inline SVG.

Misol

<svg width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
  style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
</svg>
O‘zingiz sinab ko‘ring »

SVG yulduz

Sorry, your browser does not support inline SVG.

Misol

<svg width="300" height="200">
  <polygon points="100,10 40,198 190,78 10,78 160,198"
  style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
O‘zingiz sinab ko‘ring »

SVG gradient ellips va matn

SVG Sorry, your browser does not support inline SVG.

Misol

<svg height="130" width="500">
  <defs>
    <linearGradient id="grad1">
      <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)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
  Sorry, your browser does not support inline SVG.
</svg>
O‘zingiz sinab ko‘ring »

SVG va Canvas o‘rtasidagi farqlar

SVG — XML da 2D grafikalarni tasvirlash tili, Canvas esa 2D grafikalarni (JavaScript yordamida) real vaqtda chizadi.

SVG XML asosidagandir, ya’ni har bir element SVG DOM ichida mavjud. SVG grafikalariga JavaScript hodisa ishlovchilarini (event handlers) bog‘lashingiz mumkin.

SVG da har bir chizilgan shakl obyekt sifatida esda qoladi. Agar SVG obyektining atributlari o‘zgartirilsa, brauzer shaklni avtomatik qayta chizishi mumkin.

Canvas piksel piksel chiziladi. Canvas da grafika chizilgandan so‘ng, brauzer uni eslab qolmaydi. Agar uning joylashuvi o‘zgartirilishi kerak bo‘lsa, butun sahna qaytadan chizilishi kerak, grafika tomonidan yopilgan bo‘lishi mumkin bo‘lgan obyektlar bilan birga.


SVG va Canvas taqqoslash

Quyidagi jadval Canvas va SVG o‘rtasidagi ba’zi muhim farqlarni ko‘rsatadi:

SVG Canvas
  • Resolution independent
  • Hodisa ishlovchilarini (event handler) qo‘llab-quvvatlaydi
  • Good text rendering capabilities
  • Murakkab bo‘lsa, sekin render qilinadi
  • O‘yin ilovalari uchun mos emas
  • Resolution dependent
  • Hodisa ishlovchilarini qo‘llab-quvvatlamaydi
  • Poor text rendering capabilities
  • Olingan rasmni .png yoki .jpg sifatida saqlashingiz mumkin
  • Grafikaga boy o‘yinlar uchun juda mos

SVG darsligimizni

SVG haqida ko‘proq o‘qish uchun bizning SVG darsligimizni o‘qiganingiz.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!