ტექსტის დახატვა

წინა სტატიაში განვიხილეთ, თუ როგორ უნდა მივანიჭოთ სტილიზაციები და ფერები კანვასის ელემენტებს, ამ სტატიაში კი განვიხილავთ თუ როგორ ჩავწეროთ და დავხატოთ ტექსტი კანვასში.

ტექსტების დახატვა

კანვასში ტექსტების გამოსატანად ვიყენებთ ორ მეთოდს:

fillText

fillText(text, x, y [, maxWidth]) მეთოდი გამოიყენება ტექსტის ჩასაწერად. მეთოდი პარამეტრად ღებულობს 4 მნიშვნელობას:

  • text - რა ჩაწეროს.
  • x - რომელი x კოორდინატიდან.
  • y - რომელი y კოორდინატიდან.
  • maxWidth - მაქსიმუმი სიგანე დასახატად (პარამეტრი არ არის სავალდებულო).
HTML
<canvas id="textCanvas" width="150" height="150"></canvas>
JS
const textCanvas = document.querySelector('#textCanvas');

if (textCanvas.getContext) {
  const ctx = textCanvas.getContext('2d');
  ctx.font = '48px serif';
  ctx.fillText('Iswavle', 22, 22);
}
Fill text მაგალითი

strokeText

strokeText მეთოდი საკმაოდ წააგავს fillText მეთოდს. განსხვავება მათ შორის არის გამოტანილ ტექსტში: fillText შეავსებს ტექსტს სტანდარტული სახით ხოლო strokeText stroke სტილიზაციას მისცემს (ჩარჩოს მაგვარი ტექსტი).

strokeText(text, x, y [, maxWidth]) მეთოდი იგივე პარამეტრებს ღებულობს, რასაც fillText.

HTML
<canvas id="strokeTextCanvas" width="150" height="150"></canvas>
JS
const strokeTextCanvas = document.querySelector('#strokeTextCanvas');

if (strokeTextCanvas.getContext) {
  const ctx = strokeTextCanvas.getContext('2d');
  ctx.font = '22px serif';
  ctx.strokeText('EverREST', 22, 44);
}
Stroke text მაგალითი

ტექსტების სტილიზაცია

წინა მაგალითებში განვიხილეთ font გასტილვა, რომელიც საშუალებას გვაძლევს გავსტილოთ ტექსტის თვისებები, როგორც CSS-ში. განვიხილოთ სხვა თვისებებიც:

textAlign

textAlign თვისება გამოიყენება ტექსტის პოზიცირებისთვის. შესაძლო მნიშვნელობები: start, end, left, right ან center. ნაგულისხმევად აქვს start.

textBaseLine

textBaseline თვისება გამოიყენება ტექსტის სიმაღლის გასწორებისთვის. შესაძლო მნიშვნელობები: top, hanging, middle, alphabetic, ideographic და bottom. ნაგულისხმევად აქვს alphabetic.

baseline მაგალითები

direction

direction თვისება გამოიყენება ტექსტის მიმართულების გაწერისთვის. შესაძლო მნიშვნელობები: ltr, rtl და inherit. ნაგულისხმევად აქვს inherit.

HTML
<canvas id="basicStylesCanvas" width="150" height="150"></canvas>
JS
const basicStylesCanvas = document.querySelector('#basicStylesCanvas');

if (basicStylesCanvas.getContext) {
  const ctx = basicStylesCanvas.getContext('2d');
  ctx.font = '22px serif';
  ctx.strokeStyle = 'steelblue';
  ctx.textAlign = 'center';
  ctx.strokeText('Educata', 100, 44);
}
Basic style მაგალითი

შეჯამება

ტექსტის გამოტანა არამხოლოდ HTML თეგებში არის შესაძლებელი, არამედ canvas-სის ელემენტშიც, სადაც ანალოგიური CSS თვისებები შეგვიძლია გავუწეროთ.

იხილეთ სტატიის სამაგალითო კოდები playground-ში.


კონტრიბუტორის სურათიკონტრიბუტორის სურათი
გზამკლევი