Obecnie pracuję z płótnem HTML, aby wziąć wejście użytkownika i wykonać tekst pogrubiony w płótnie. Opracowałem następujący kod, aby to zrobić:

var bodyFontString = "14px Arial";
function makeBold(pText){
pText = ("bold"+" "+pText);

}
makeBold(bodyFontString);
context.font = bodyFontString;
context.fillText("hello", 20, 20)

Chodzi o to, aby wymienić ciąg, który byłby przypisany do kontekstu.fon z ciągiem zawierającym nowy pogrubiony język. Z jakiegoś powodu nie mogę wykonać tej pracy. Proszę pomóż.

0
dandlezzz 6 grudzień 2013, 04:54

2 odpowiedzi

Najlepsza odpowiedź

W rzeczywistości niczego nie zmieniasz:

var bodyFontString = "14px Arial";

function makeBold(pText){
    return ("bold"+" "+pText); /// return result
}

context.font = makeBold(bodyFontString); /// use result
context.fillText("hello", 20, 20)
3
user1693593user1693593 6 grudzień 2013, 01:04

To dlatego, że nie jesteś ustawiony context.font w makeBold. Wszystko makeBold oznacza zmianę wartości parametru pText.

Oto, co się dzieje:

makeBold(bodyFontString); // Doesn't set context.font to anything!
context.font = bodyFontString; // Sets context.font to the original value, without the bold

Spróbuj tego:

function makeBold(pText) {
    return "bold " + pText;
}

context.font = makeBold(bodyFontString);
context.fillText("hello", 20, 20)
2
linstantnoodles 6 grudzień 2013, 01:14