svg etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
svg etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

HTML SVG Gradyanlar (Gradients) - Ders_2 Radial Gradyanlar

SVG Radial Gradyanlar (Radial Gradients)

Bir SVG elemanına, dairesel gradyan eklemak için <radialGradient> elemanı kullanılır.

<radialGradient> elemanı, <defs> elemanının içinde tanımlanmalıdır.

Radial bir gradyanı olan bir elips örneği:


Bu efekti vermek için şu kodları kullanıyoruz:

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0"
 />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

Bu kodların anlamı şudur:
  • <radialGradient id="grad1" kodları ile, radialGradient elemanına benzersiz bir kimlik atıyoruz. Bu kimlik ile bu gradyanı, çizdiğimiz elipse uygulayacaz.
  • cx="50%" cy="50%" r="50%" kodları dış daireyi; fx="50%" fy="50%" kodları, iç daireyi tanımlar. 
  • Gradyandaki renk geçişleri, iki veya daha fazla renk kullanılarak yapılır. Her bir renk de <stop> elemanı ile tanımlanır. offset="değer" özelliği, gradyan renginin nerede başlayacağını ya da biteceğini belirler.
  • fill="url(#grad1)" özelliği ile, elips elemanına hangi gradyanı uygulayacağımız belirledik. Gradyana bir link verdik.
Radial bir gradyanı olan başka bir elips örneği:




Bu efekti vermek için şu kodları kullanıyoruz:

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad2" cx="20%" cy="30%" r="30%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0"
 />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>


HTML SVG Blur Efekti Verme- Filtreleme Ders_2

SVG Blur Efektleri

<defs> ve <filters> Elemanları

Bütün internet SVG filtreleri <defs> elemanının içinde tanımlanır. 

<filter> elemanı, özel SVG filtrelerini, efektlerini tanımlar. Her <filter> elemanı, bir id değeri almalıdır. Bu id değeri kullanılarak, efekti çizdiğimiz şekle uygularız.

<feGaussianBlur> SVG Elemanı

<feGaussianBlur> elemanı, svg elemanına blur (bulanıklık) efekti vermek için kullanılır. Aşağıdaki örneğe dikkat edelim:


Bu blur efekti verilmiş svg grafiğinin kodu şöyledir:

<svg height="110" width="110">
  <defs>
    <filter id="f1" x="0" y="0">
      <feGaussianBlur in="SourceGraphic" stdDeviation="15" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill=
"yellow" filter="url(#f1)" />
</svg>

Kodların anlamları:

  • <filter> elemanının id değeri, bu elemanın emsalsiz bir kimlik almasını sağlar.
  • Blur efeckti <feGaussianBlur> elamanı içinde verilir.
  • in="SourceGraphic" kodu, blur efektinin, çizilen bütün şekli etkilemesini sağlar.
  • stdDeviation="15" kodu, blur efektinin bir değer almasını sağlar.
  • filter="url(#f1)" kodu <rect> elemanına atanarak, blur efektinin bu elemana uygulanması sağlanır.

HTML SVG Filtreleme Ders_1

SVG Filtreleme (SVG Filters)

SVG elemanlarına, efect katmak için filtreleme elemanları kullanılır.

SVG filtreleme elemanları tarayıcıların aşağıda belirtilen versiyonlarından itibaren desteklenir:

SVG Filters8.010.03.06.09.6

SVG Filtre Elemanları (Filter Elements)

Bir sonraki derste, svg filtre elemanları ile neler yapılabileceğine dair örnekler vereceğiz.

SVG'de kullanılan filtre elemanarı/efektleri şunlardır:

  • <feBlend> - filter for combining images (resimleri kombine etmek için)
  • <feColorMatrix> - filter for color transforms (renk dönüşümü için)
  • <feComponentTransfer>
  • <feComposite>
  • <feConvolveMatrix>
  • <feDiffuseLighting>
  • <feDisplacementMap>
  • <feFlood>
  • <feGaussianBlur>
  • <feImage>
  • <feMerge>
  • <feMorphology>
  • <feOffset> - filter for drop shadows (Gölge efekti için)
  • <feSpecularLighting>
  • <feTile>
  • <feTurbulence>
  • <feDistantLight> - filter for lighting (ışık efekti için)
  • <fePointLight> - filter for lighting (ışık efekti için)
  • <feSpotLight> - filter for lighting (ışık efekti için)
Bir svg elemanında birden çok filtre elemanı kullanabiliriz.


HTML SVG Ders_11 Çizim Biçimleri (Strokes)

HTML5 SVG Çizim Biçimleri (Strokes)

SVG, farklı çizim biçimlerine sahiptir. Bu derste, aşağıdaki çizim biçimlerinden bahsedeceğiz:

  • stroke
  • stroke-width
  • stroke-linecap
  • stroke-dasharray
Bütün bu çizim biçimleri, svg elemanındaki bütün çizgilere uygulanabilir. Bunlar bir düz çizgi, daire çizgisi veya diğer şekillerin çizgileri olabilir.

SVG stroke Özelliği (stroke property)

stroke özelliği, bir çizginin, textin ya da bir geometrik şeklin çizgi rengini belirler. Örneğe dikkat edelim:

<svg height="80" width="300">
  <g fill="none">
    <path stroke="red" d="M5 20 l215 0" />
    <path stroke="blue" d="M5 40 l215 0" />
    <path stroke="black" d="M5 60 l215 0" />
  </g>
</svg>

Bu kodlar şu çizgileri çizer:

SVG stroke-width Özelliği

stroke-width özelliği, bir çizginin, bir textin kalınlığını belirler. Örneğe dikkat edelim:

<svg height="80" width="300">
  <g fill="none" stroke="black">
    <path stroke-width="2" d="M5 20 l215 0" />
    <path stroke-width="4" d="M5 40 l215 0" />
    <path stroke-width="6" d="M5 60 l215 0" />
  </g>
</svg>

Bu kodlar şu çizgileri çizer:


SVG stroke-linecap Özelliği

stroke-linecap özelliği, ucu açık bir çizginin ucuna şekil vermek için kullanılır. Örneğe dikkat edelim:

<svg height="80" width="300">
  <g fill="none" stroke="black" stroke-width="6">
    <path stroke-linecap="butt" d="M5 20 l215 0" />
    <path stroke-linecap="round" d="M5 40 l215 0" />
    <path stroke-linecap="square" d="M5 60 l215 0" />
  </g>
</svg>

Bu kodlar şu çizgileri çizer:

SVG stroke-dasharray Özelliği

stroke-dasharray özelliği, kesikli çizgi çizmemizi sağlar. Örneğe dikkat edelim:

<svg height="80" width="300">
  <g fill="none" stroke="black" stroke-width="4">
    <path stroke-dasharray="5,5" d="M5 20 l215 0" />
    <path stroke-dasharray="10,10" d="M5 40 l215 0" />
    <path stroke-dasharray="20,10,5,5,5,10" d="M5 60 l215 0" />
  </g>
</svg>

Bu kodlar şu çizgileri çizer: