Quelle est la signification des valeurs non numériques dans la définition de bord de la XFL?

StackOverflow https://stackoverflow.com/questions/4077200

  •  28-09-2019
  •  | 
  •  

Question

XFL est le nouveau non compressé fichier source ADOBE FLASH (CS5), il se compose de définitions XML, la plupart d'entre eux sont clairs, mais malheureusement, l'important sont étranges.

Vous cherchez à différentes sources existantes, je peux voir les définitions EDGE de forme comme:

<Edge strokeStyle="1" edges="!0 0S4|180 0"/>
<Edge strokeStyle="1" edges="!2720 2720S6|0 2720!0 2720|0 0!0 0/2720 2720"/>
<Edge fillStyle1="1" edges="!3532 1539.5S2[#BD9.4D #577.3C 2952.5 1756.5!2952.5 1756.5[#AF6.DA #4C6.1D 3584 1119!3584 1119|3532 1539.5"/> 

Faire des tests, je peux dire que:

! == move to position
| == draw line from the position to the new position
/ == probably same like |
[ == draw curve
( == probably same like [

Mais que signifie les valeurs comme S4 ou # BD9.4D ? Mon pas prouvé encore conjecture est que le # valeurs peuvent être codées en quelque sorte de très petits nombres. Je n'ai aucune idée ce qui pourrait être le S4 .

Était-ce utile?

La solution

!(x,y) moveTo

/(x,y)+ lineTo

|(x,y)+ lineTo

[(x1 y1 ex ey)+ curveTo (quadratique)

](x1 y1 ex ey)+ curveTo (quadratique)

((pBCPx pBCPy)? ; x1 y1 x2 y2 ex ey (({Q,q,P,p})? x y)+ curveTo (début cubique)

)(nBCPx nBCPy)? ; curveTo (extrémité cubique)

sélection de Sn (n = bitmask, 1: fillStyle0, 2: fillStyle1, 4: accident vasculaire cérébral)

#aaaaaa.bb est un point fixe signé 32 bit numéro

Autres conseils

Hm ... je me suis trompé avec la conjecture de # valeurs!

J'ai décompilé la forme produite et peut dire que la valeur d'exemple # BD9.4D doit être un codage hexadécimal stupide de nombre 3033,77 . Je voudrais savoir, pourquoi Adobe utilise quelque chose comme ça dans le code qui doit être lisible par l'homme?

EDIT: ce qui précède est faux, le bon résultat pour # BD9.4D est 3033,30078125

>> (to integer! #{000BD94D}) / 256
== 3033.30078125

Notez également que de tels chiffres # 19F.2 sont # binaires {} 00019F20

Selon S4 type de valeurs, ils pourraient être juste quelques informations supplémentaires pour l'éditeur FLASH parce que quand je les supprimer manuellement, je peux charger la source et la forme est la même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top