2016-06-29 2 views
0

Мне удалось прочитать данные о дорожках из файла Photoshop. Photoshop File Format. Кривые безье кривых. Я хочу преобразовать эти данные в формат пикселей. Как мне это сделать?.Rasterizing Paths данные из файла Photoshop

+0

Попробуйте использовать что-то похожее на Каир. Или задайте более конкретный вопрос типа «Я хочу отображать кривые Безье в C/C++/Web/iOS/Android и т. Д.». Ваши доступные параметры могут быть несовместимы между различными платформами и языками. Удачи. – hkrish

ответ

1

Прочтите всю документацию, указанную On the Adobe's Website. Я разделил данные на 26 байтов.

Скажем, один из записи выглядит следующим образом

0 0 | 0 12 0 0 0 1 0 0 | 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 

Первые два байта каждой записи селектор, чтобы указать, какой путь она. 0 0 указывает, что это Закрытая запись длины подпутника.

Следующие 8 байт сообщают нам контрольную точку для сегмента Безье , предшествующего узлу. Теперь это снова можно разбить на две составляющие X и Y первые 4 байта являются вертикальными компонентами.

0 12 0 0 

я преобразовал 12 0 0 в двоичном формате и добавить их и их преобразовать в десятичную

00001100 + 00000000 + 00000000 = 00001100 

, а затем преобразуется обратно результат в десятичной системе. Который дал мне координацию Y.

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

Следующие 8 байтов указывают опорную точку для узла, а последние 8 байтов - контрольную точку для сегмента Безье, покидающего узел. Компоненты X и Y можно найти аналогичным образом.

У меня были эти данные экспортированы в файл svg, а затем запущен растеризатор для преобразования данных точки в пиксельные данные.

Если кто-то сталкивается с этим постом, я надеюсь, что это поможет. :)