Canvas API

<canvas> elementi, HTML sayfasındaki bitmaps alanını tanımlar.

Canvas API, JavaScript'in kanvada grafik çizmesine izin verir.

Canvas API, şekiller, çizgiler, eğriler, kutular, metin ve görseller, renk, döndürme, şeffaflık ve diğer piksel işlemleri çizmek için kullanılabilir.

Canvas'ı HTML'ye ekleyin

HTML sayfasındaki herhangi bir yerde canvas elementi eklemek için <canvas> etiketini kullanabilirsiniz:

Örnek

<canvas id="myCanvas" width="300" height="150"></canvas>

Kişisel olarak deneyin

Canvas elementine nasıl erişilir

HTML DOM yöntemiyle getElementById() kullanarak <canvas> elementine erişebilirsiniz:

const myCanvas = document.getElementById("myCanvas");

Canvas üzerinde çizim yapmak için 2D kontekst nesnesi oluşturmanız gerekir:

const ctx = myCanvas.getContext("2d");

Notlar

HTML <canvas> elementi kendisi çizim özelliğine sahiptir.

Herhangi bir grafik çizmek için JavaScript kullanmanız gerekir.

getContext() yöntemi, çizim araçları (yöntemleri) içeren bir nesne döndürür.

Canvas üzerinde çizim

2D kontekst nesnesi oluşturduktan sonra, canvas üzerinde çizim yapabilirsiniz.

Aşağıdaki fillRect() yöntemi, sol üst köşesi 20,20 konumunda olan ve genişliği 150 piksel, yüksekliği 100 piksel olan siyah bir dikdörtgen çizer:

Örnek

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillRect(20, 20, 150, 100);

Kişisel olarak deneyin

Renk kullanarak

fillStyle özelliği, çizim nesnesinin doldurma rengini ayarlar:

Örnek

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Kişisel olarak deneyin

Yeni bir <canvas> elementi oluşturmak ve mevcut HTML sayfasına eklemek için document.createElement() yöntemini kullanabilirsiniz:

Örnek

const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);

Kişisel olarak deneyin

Yol

Canvas üzerinde çizim için yaygın yöntemler:

  1. Yol başlat - beginPath()
  2. Bir noktaya taşınır - moveTo()
  3. Yol içinde çizer - lineTo()
  4. Yol çizgisi - stroke()

Örnek

const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.stroke();

Kişisel olarak deneyin

Renk, stil ve gölge

Özellikler Açıklama
fillStyle Doldurma için kullanılan rengi, gradyan veya desenini ayarlar veya döndürür.
strokeStyle Çizgilerin rengi, gradyan veya desenini ayarlar veya döndürür.
shadowColor Gölge için kullanılan rengi ayarlar veya döndürür.
shadowBlur Gölge bulanıklık seviyesini ayarlar veya döndürür.
shadowOffsetX Gölgeyi şekle olan yatay mesafeyi ayarlar veya döndürür.
shadowOffsetY Gölgeyi şekle olan dikey mesafeyi ayarlar veya döndürür.
Yöntem Açıklama
createLinearGradient() Dairesel gradyan oluşturur (kanva içeriği için).
createPattern() Belirtilen yönde belirtilen öğeyi tekrarlar.
createRadialGradient() Diametrik/dairesel gradyan oluşturur (kanva içeriği için).
addColorStop() Gradyan nesnesinde renkleri ve durak noktalarını belirler.

Çizgi stili

Özellikler Açıklama
lineCap Çizginin ucunu ayarlar veya döndürür.
lineJoin İki çizgi çarpıştığında oluşturulan köşenin türünü ayarlar veya döndürür.
lineWidth Mevcut çizgi genişliğini ayarlar veya döndürür.
miterLimit Maksimum çapraz açı uzunluğunu ayarlar veya döndürür.

矩形单u

Yöntem Açıklama
rect() 矩形单u oluşturur.
fillRect() Doldurulmuş bir矩形单u çizer.
strokeRect() Doldurulmamış bir矩形单u çizer.
clearRect() Belirtilen矩形单元内的 belirtilen pikselleri temizler.

Yol

Yöntem Açıklama
fill() Mevcut grafik (yol)ni doldurur.
stroke() Tanımladığınız yolu gerçekten çizer.
beginPath() Yolu başlatır veya mevcut yolu sıfırlar.
moveTo() Yolu kanvasdaki belirtilen noktaya taşır, ancak bir çizgi oluşturmaz.
closePath() Mevcut noktadan başlangıç noktasına dönen bir yol oluşturur.
lineTo() Yeni bir nokta ekler ve bu noktadan kanvasın son belirtilen noktasına bir çizgi oluşturur.
clip() Orjinal kanvasın herhangi bir şekil ve boyutta bir bölgesini keser.
quadraticCurveTo() İki Bézier kuralı oluşturur.
bezierCurveTo() Üçlü Bézier kuralı oluşturur.
arc() Yuvarlak/kurva oluşturur (yuvarlak veya yuvarlak bir kısmı oluşturmak için kullanılır).
arcTo() İki keskin hat arasında bir yuvarlak/kurva oluşturur.
isPointInPath() Belirtilen nokta mevcut yolda ise true döndürür, aksi takdirde false döndürür.

Dönüşüm

Yöntem Açıklama
scale() Mevcut grafikni büyütür veya küçültür.
rotate() Mevcut grafikni döndürür.
translate() Kanvas üzerindeki (0,0) konumunu yeniden haritalar.
transform() Çizimin mevcut dönüşüm matrisini değiştirir.
setTransform() Mevcut dönüşümü birim matrise geri ayarlayın. Sonra çalıştırın transform().

Metin

Özellikler Açıklama
font Metin içeriğinin mevcut yazı özelliklerini ayarlar veya döndürür.
textAlign Metin içeriğinin mevcut hiza yöntemini ayarlar veya döndürür.
textBaseline Metni çizerken kullanılan mevcut metin temel çizgisini ayarlar veya döndürür.
Yöntem Açıklama
fillText() Doldurma ile metni çizer.
strokeText() Doldurma olmaksızın metni çizim kağıdına çizer.
measureText() Belirtilen metin genişliğini içeren nesneyi döndürür.

Görsel çizimi

Yöntem Açıklama
drawImage() Görseli, çizim kağıdını veya videosunu çizer.

Piksel işlemleri

Özellikler Açıklama
width ImageData nesnesinin genişliğini döndürür.
height ImageData nesnesinin yüksekliğini döndürür.
data Belirtilen ImageData nesnesinin görsel verilerini içeren nesneyi döndürür.
Yöntem Açıklama
createImageData() Yeni boş ImageData nesnesi oluşturur.
getImageData() Belirtilen çizim kağıdının belirli bir dikdörtgeninin piksel verilerini kopyalayan ImageData nesnesi döndürür.
putImageData() Görsel verilerini (belirtilen ImageData nesnesinden) çizim kağıdına geri koyar.

Bileşim

Özellikler Açıklama
globalAlpha Çizimin mevcut alpha veya şeffaflık değerini ayarlar veya döndürür.
globalCompositeOperation Yeni görseli mevcut görsel üzerine nasıl çizileceğini ayarlar veya döndürür.

Diğer

Yöntem Açıklama
save() Mevcut kontekst durumunu kaydeder.
restore() Önceki kaydedilen yol durumunu ve özelliklerini döndürür.
createEvent()
getContext()
toDataURL()

Standart özellikler ve olaylar

canvas nesnesi standartları ve olayları desteklerÖzelliklerveOlaylar.

İlgili sayfalar

HTML Eğitimi:HTML5 Çizim Kağıdı

HTML Görsel Eğitimi:HTML Canvas Eğitimi

HTML Referans Kılavuzu:HTML <canvas> etiketi