Я использую EaselJS в качестве API для холста HTML5.
Я заметил, что следующий код:
line.graphics.setStrokeStyle(1).beginStroke("black").moveTo(100,100).lineTo(200,200);
stage.addChild(line);
... производит следующую строку:
Я установил толщину на 1, но линия все еще нечеткая. Если вы увеличите снимок, вы увидите, что на самом деле он занимает 3 пикселя. Кажется, я где-то читал, что холст рисует точку между двумя пикселями, так что фактически оба пикселя будут окрашены. И вам нужно сместить точку, где вы рисуете, на половину ширины пикселя, чтобы она попала на весь пиксель.
Мне нужно четкое изображение для моих приложений, пожалуйста, сообщите.
moveTo(100,100)
наmoveTo(100.5,100.5)
? - person kangax   schedule 13.07.2011moveTo(coerce(100), coerce(100))
илиmoveTo('100'.toCanvas(), '100'.toCanvas())
— оба варианта, конечно, уродливые (и сбивающие с толку) :) Я не знаком с EaselJS и не знаю, есть ли в нем что-нибудь, чтобы обойти эту проблему. Я знаю, что в моей библиотеке (fabric.js, kangax.github.com/fabric.js /demos/kitchensink) об этом тоже нечего заботиться... - person kangax   schedule 14.07.2011