Canvas Üzerinde Metin ve Görseller
Metin dizelerini görüntüleyin ve görselleri canvas üzerine çizin
Canvas Üzerinde Metin ve Görseller, CoddyKit'te ücretsiz bir HTML Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, HTML Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. HTML Academy kursu toplamda 4 dersten oluşur.
Metin Çizme
Yazı tipini ayarlayın: ctx.font = "bold 24px sans-serif". Çizin: ctx.fillText("Hello", x, y) veya ctx.strokeText("Hello", x, y). Y koordinatı metin taban çizgisidir — metni bir sınırlayıcı kutu içinde doğru konumlandırmak için üst uzantı yüksekliğini bunun üzerine ekleyin.
Metin Hizalama
ctx.textAlign yatay hizalamayı denetler: "left" (varsayılan), "center", "right". ctx.textBaseline, y koordinatına göre dikey hizalamayı denetler: "top", "middle", "alphabetic" (varsayılan), "bottom". Ortalanmış metin için ikisini de "center" ve "middle" olarak ayarlayın.
Düzen için measureText
ctx.measureText("text"), genişlik ve yazı tipi ölçümlerini içeren bir TextMetrics nesnesi döndürür. Metin konumlarını dinamik olarak hesaplamak için kullanın — metni bir kutuda ortalamak, metni bir maxWidth değerinde satırlara bölmek veya etiketleri veri noktalarının yanında sağa hizalamak için.
Metin Satır Kaydırma
Tuvalde yerleşik metin satır kaydırma özelliği yoktur. Bunu kendiniz uygulayın: sözcük genişliklerini ölçün, maxWidth değerini aşana kadar biriktirin, ardından lineHeight aralıklarında yeni bir satıra geçin. Bu, tuval oluşturma kütüphanelerinde yaygın bir yardımcı işlevdir.
Görüntü Çizme
ctx.drawImage(image, dx, dy), bir HTMLImageElement, HTMLCanvasElement veya HTMLVideoElement'i (dx, dy) konumuna çizer. Piksellerin çizimden önce hazır olduğundan emin olmak için önce görüntüyü yükleyin ve onload işleyicisinde çizin.
const img = new Image();
img.onload = () => ctx.drawImage(img, 0, 0);
img.src = "photo.jpg";Görüntüleri Ölçekleme
ctx.drawImage(image, dx, dy, dw, dh), görüntüyü dw x dh boyutlarına ölçekler. En-boy oranı otomatik olarak korunmaz — boyutları elle hesaplayın. En-boy oranını korumak için: dw = img.width * scale; dh = img.height * scale.
Görüntüleri Kırpma
Dokuz bağımsız değişkenli drawImage: ctx.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh). Kaynak dikdörtgeni (sx, sy, sw, sh), görüntüden kırpma yapar; hedef dikdörtgeni (dx, dy, dw, dh), kırpılan bölümü tuval üzerine yerleştirir ve ölçekler.
Görüntü Yumuşatma
ctx.imageSmoothingEnabled = false, görüntüler ölçeklenirken iki doğrusal enterpolasyonu devre dışı bırakır. Keskin ve yumuşatılmamış ölçekleme istendiğinde piksel sanatı için kullanın. Yumuşak ölçeklemenin daha iyi göründüğü fotoğrafik görüntülerde etkin bırakın (varsayılan).
Görüntü Kaynağı Olarak Tuval
Bir tuvali drawImage için kaynak olarak kullanarak bir tuvali diğerinin üzerine çizin. Bu, ekran dışı oluşturmayı mümkün kılar: karmaşık birleşimleri gizli bir tuvalde çizin, ardından her karede bu tuvali tek bir işlemle görünür tuvalin üzerine çizin.
globalAlpha ve Birleştirme
ctx.globalAlpha (0 ile 1 arasında), kendisinden sonra yapılan tüm çizimlere tekdüze saydamlık uygular. ctx.globalCompositeOperation, yeni çizimlerin mevcut piksellerle nasıl birleştirileceğini denetler: "source-over" (varsayılan), "multiply", "screen", "destination-out" (silme) ve daha fazlası.
Dışa Aktarım için toDataURL
canvas.toDataURL("image/png"), tuvali base64 PNG veri URL'si olarak dışa aktarır. Kullanıcının başlattığı indirme işlemi için kullanın: bir bağlantı öğesi oluşturun, href'i veri URL'sine ve download özniteliğini bir dosya adına ayarlayın, ardından öğeye program aracılığıyla tıklayın.
Bilginizi Sınayın
Metin çizerken ctx.textBaseline = "middle" neyi etkiler?
Özet
Tuval metni oluşturma; konumlandırma için ctx.font, fillText/strokeText, textAlign ve textBaseline değerlerini, düzen hesaplamaları için ise measureText yöntemini kullanır. drawImage ile görüntü çizimi ölçeklemeyi ve kırpmayı destekler; globalAlpha ve globalCompositeOperation birleştirmeyi denetler. toDataURL, tuvali indirme veya başka amaçlarla kullanmak üzere dışa aktarır.
Yapay zeka eğitmeniyle HTML öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 40
- Dersler
- 159
Sıkça Sorulan Sorular
“Canvas Üzerinde Metin ve Görseller” dersi ücretsiz mi?
Evet — “Canvas Üzerinde Metin ve Görseller” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve HTML Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. HTML Academy kursu toplamda 4 dersten oluşur.
“Canvas Üzerinde Metin ve Görseller” dersinde ne öğreneceğim?
Metin dizelerini görüntüleyin ve görselleri canvas üzerine çizin HTML Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
HTML Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te HTML Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Canvas Üzerinde Metin ve Görseller” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu HTML Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her HTML Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Canvas ve 2B Bağlamı Ayarlama
- Dikdörtgen ve Yollar Çizme
- Canvas Üzerinde Metin ve Görseller
- requestAnimationFrame ile Animasyon