RaphaelJS - вектор или нет? - PullRequest
       1

RaphaelJS - вектор или нет?

1 голос
/ 11 октября 2011

Я пытаюсь поместить круг на 50% ширины бумаги, используя RaphaelJS , возможно ли это без предварительной математической обработки (.5 * ширина пикселя)? Я хочу просто иметь возможность разместить элемент на 50% ширины его контейнера, возможно ли это даже с текущим Raphael API?

Рафаэль утверждает, что умеет рисовать векторную графику, и все же в API все основано на пикселях. Как вы можете нарисовать векторное изображение, используя пиксели? Это кажется на 100% противоречивым.

Точно так же, как я понимаю векторное искусство, оно сохраняет одинаковые размеры независимо от фактического размера. Разве это не одна из основных причин использования векторной графики, то, что не имеет значения, будет ли она для экрана, печати или чего-то еще, она всегда будет одного масштаба? Таким образом, я дальше смущен необходимостью чего-то вроде ScaleRaphael ; просто кажется, что такая функциональность является неотъемлемой частью создания векторной графики. Но, может быть, я просто не понимаю векторную графику?

Это просто не похоже на изображение, которое создано с абсолютными размерами в пикселях и не может быть изменено изначально, квалифицируется как векторное изображение. Это, или я пропускаю очень большой кусок API здесь.

Заранее спасибо за любую помощь. Я уже дважды пытался опубликовать это в Google Group RaphaelJS, но я думаю, что они по какой-то причине подвергают его цензуре, потому что я ждал его появления с прошлой недели и до сих пор не имею никаких признаков моих сообщений (хотя другие новые сообщения появляются).

1 Ответ

3 голосов
/ 18 октября 2011

Использование значений пикселей для определения позиций / размеров фигуры не делает ее не векторной формой. Возьмем, к примеру, Adobe Illustrator - это векторный продукт, и все же вы все еще можете видеть, что свойства для каждого объекта показывают позиции и размеры в пикселях.

Базовое объяснение векторной графики было бы таким, на примере прямоугольника:

Векторный прямоугольник будет иметь ряд свойств, таких как x, y, ширина и высота. Эти свойства могут быть указаны в пикселях. Разница с вектором (в отличие от растра) заключается в том, что эти пиксели Свойства используются только для определения способа рисования фигуры. Так когда отображение отображается (обновляется) «система» может перерисовать форму используя те же свойства, не влияя на качество изменения размера.

Растровое изображение, однако, будет содержать гораздо больше информации (т.е. точное значение каждого пикселя, используемого для формирования формы / прямоугольника)

Если слово «пиксель» заставляет вас думать, что оно противоречиво, просто запомните, что все на экране компьютера отображается в пикселях. Даже векторная графика должна быть преобразована в «растр» как некоторая точка в графическом конвейере.

Если вы беспокоитесь о необходимости использовать вычисление (ширина 0,5 *), просто помните, что что-то должно делать это вычисление, и лично я с радостью выполнил бы этот простой шаг сам.

После всего этого вы должны просто рассчитать размер и положение в пикселях на основе размера вашего «бумажного» элемента и передать эти значения в Raphael для создания фигуры.

...