Как установить свойство контекста холста html5 по формату json? - PullRequest
0 голосов
/ 24 марта 2012

Мы все знаем, как установить свойство контекста холста следующим образом:

ctx.textBaseline = "top";
ctx.shadowColor = "#000";
ctx.shadowOffsetX = 10;
ctx.shadowOffsetY = 0;
ctx.shadowBlur = 10;

Но если у меня есть данные в формате json, например:

{textBaseline: "top",
shadowColor: "#000",
shadowOffsetX: 10,
shadowOffsetY: 0,
shadowBlur: 10}

Как установить свойство ctx с помощью вышеданные?

Я могу сделать так:

function setctxproperty(jsondata) {
    if (jsondata[textBaseline]) {
        ctx.textBaseline = jsondata[textBaseline]; 
    } else if (jsondata[shadowColor]) {
        ctx.shadowColor = jsondata[shadowColor]; 
    } else if (...) {
        ...
    }
}

У вас есть какой-нибудь способ?

Спасибо.

1 Ответ

1 голос
/ 24 марта 2012

Есть лучший способ. Вы можете использовать что-то вроде этого:

function setProps(data) {
   for (var p in data) {
     if (!data.hasOwnProperty(p)) continue;
     ctx[p] = data[p];
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...