2016-01-19 3 views
3

Я работаю с библиотекой javascript (Cytoscape), которая опирается на холст HTML.Некоторые преобразования применяются к тексту, а не к перестановкам?

Исходный код использует несколько преобразований для учета увеличения и панорамирования и т.д.

Проблема у меня в том, что какой-нибудь текст я рисую на использовании context.fillText рисует непоследовательно, он перемещается на экране в зависимости на разных условиях.

Вы можете связать это с действующим преобразованием холста, но по какой-то причине canvas.fillRect не влияет.

например, если у меня есть две строки кода:

context.fillText("aaaa", 900,900); //Acts inconsistently, changes relative size and position 
context.fillRect(920, 920, 20, 20); //Doesn't change at all. 

Есть ли установка на контекст холста, что я не хватает, что может быть причиной этого эффекта, который влияет только на текст, а не fillRect?

+0

У вас есть пример? Может быть, [codepen] (http://codepen.io/) или [jsfiddle] (https://jsfiddle.net/)? – Ouroborus

+0

@Ouroborus К сожалению, нет - потому что я работаю с изменением исходного кода этой библиотеки, кажется, слишком сложно создать для него jsfiddle. Но я посмотрю, как сделать песочницу, чтобы проверить, правильно ли я понимаю трансформацию. – dwjohnston

+0

Я не знаю cytoscapeJS, но встроенные преобразования холста html5 будут влиять на 'fillRect' и' fillText' одинаково. – markE

ответ

0

context.textAlign и context.textBaseline повлияет на размещение.

+0

Это не объясняет проблему изменения размера. На данный момент я решил свою проблему, и я мог бы не смотреть дальше. – dwjohnston