Я хочу заполнить текст текстом сверху снизу. Я следил за четырьмя или пятью различными учебниками о том, как добиться этого, но он не работает.Как сделать градиент текста в холсте?
У меня есть два различных динамических источников текста, что-то вроде этого:
<div id="first-name" contentEditable="true">Olaf</div>
<div id="last-name" contentEditable="true">Smith</div>
Я хочу рисовать все пользователь пишет на холсте (после нажатия кнопки). Я знаю, как получить значения, поэтому давайте проигнорируем эту часть и сосредоточимся на двух вещах:
1) Как узнать, насколько широкий контент заполняется градиентом.
2) Как заполнить что-нибудь с градиентом, чтобы начать с ...
Они говорят, что это, как вы должны это сделать:
var d_canvas = document.getElementById('canvas')
var context = d_canvas.getContext('2d')
var firstNameGradient = context.createLinearGradient(6,38,6,70) //no idea what values I should use
firstNameGradient.colorStop(0, '#eede85')
firstNameGradient.colorStop(1, '#fea700')
context.fillStyle = firstNameGradient
context.font = "bold 26px Tahoma"
context.fillText(firstName, 6, 38)
context.font = "bold 36px Tahoma"
context.fillText(lastName, whereFirstNameEnds, 38)
Однако, независимо от значения я пытаюсь заполнить с ним не работает. Вообще-то ничего не получается.
Так что я понятия не имею, как решить либо 1) или 2). Кто-нибудь знает?
Edit: Просто заметил ошибку:
TypeError: firstNameGradient.colorStop is not a function
Не можете использовать '$ .width()' для 1)? – JDong
@JDong Да, наверное. Я до сих пор не дошел до этого, потому что сначала хочу попробовать что-то заполнить. – Yeats
Вы хотите градиент фона, не так ли? Не радует текст? – JDong