Существует ли спецификация формата для файлов XML из импорта FLA в CS5? - PullRequest
1 голос
/ 31 августа 2010

CS5 позволяет сохранить проект FLA в виде набора файлов XML, которые кодируют векторную графику в некотором формате, например:

<Edge cubics="!8809 4331(;8821,4327 8849,4316 8865,4311q8809 4331 8865 4311);" /> 

Есть ли где-нибудь спецификация формата, объясняющая, что означают эти записи?

Ответы [ 2 ]

3 голосов
/ 02 ноября 2010

Я пока не знаю точного значения, но похоже, что это дополнительная информация для API Flash о фигуре. Эта информация не нужна, и вы можете удалить эти строки и все же загрузить XFL без проблем. Данные кубики будут добавлены снова, когда вы попытаетесь отредактировать форму снова. Это просто что-то вроде информации о кеше.

Вы можете увидеть это здесь:

<Edge fillStyle1="1" strokeStyle="1" edges="!2720 2720|0 2720!0 2720|0 0!0 0/2720 2720"/>
<Edge cubics="!0 2720(;0,2720 0,0 0,0q0 2720 0 0);"/>
<Edge cubics="!2720 2720(;2720,2720 0,2720 0,2720q2720 2720 0 2720);"/>
<Edge cubics="!0 0(;0,0 2720,2720 2720,2720q0 0 2720 2720);"/>

Это треугольник, состоящий из 3 линий и дополнительной информации о кубиках.

Также обратите внимание, что данные ребер излишне многословны. Эту же форму можно описать так:

    ChangeStyle:
        Move: [2720 2720]
        FillStyle1: 1
        LineStyle: 1
    Line: -2720 0 0 -2720 2720 2720 

Это для двух строк, одной горизонтальной и одной вертикальной:

<Edge strokeStyle="1" edges="!2640 3020|2640 5240!1520 1740|4879 1740"/>
<Edge cubics="!1520 1740(;1520,1740 4879,1740 4879,1740q1520 1740 4879 1740);"/>

Данные не меняются с каждым изменением формы, поэтому они должны быть просто внутренним полезным материалом. Я рекомендую удалить эти линии, если вы хотите построить / изменить данные формы с помощью какого-либо внешнего инструмента (как я хочу сделать).

Феномас прав, что числа в двойках, поэтому, если вы хотите получить значения в пикселях, вы должны разделить их на 20

2 голосов
/ 01 сентября 2010

Еще нет.Adobe заявила, что намеревается выпустить спецификацию, но, похоже, этого еще не произошло.

К сожалению, я также не думаю, что в настоящее время известно, что означают эти цифры (если вы не выясните!).Но я могу сделать обоснованное предположение, что сами числа, вероятно, представлены в виде твипов (что во Flash-языке составляет двадцатые точки пикселя, а не точки, как в типографии), поэтому, если вы разделите их все на двадцать, у вас, вероятно, будет пиксель.смещения, измеренные от верхнего левого угла ... чего-то.;) Что может быть достаточно для вас, чтобы расшифровать, что означает эта строка.

Но сейчас самое лучшее, что мы можем сделать, - это интерпретировать данный фрагмент XFL;нет никакого способа полностью знать, как это или не законно изменить это.

...