ما معنى القيم غير العددية في تعريف حافة XFL؟

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

  •  28-09-2019
  •  | 
  •  

سؤال

XFL هو ملف Adobe Flash (CS5) الجديد غير المضغوط (CS5) ، وهو يتكون من تعريفات XML ، ومعظمها واضح ولكن للأسف ، فإن المهم أمر غريب.

بالنظر إلى مختلف المصادر الحالية ، أستطيع أن أرى تعريفات حافة الشكل مثل:

<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"/> 

إجراء بعض الاختبارات التي يمكنني قولها ، ذلك:

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

ولكن ماذا يعني القيم مثل 4 س أو #BD9.4D؟ لم يثبت ذلك بعد أن تخمن ، أن # يمكن أن تكون القيم مشفرة بطريقة أو بأخرى أعدادًا صغيرة جدًا. ليس لدي أدنى فكرة عما يمكن أن يكون 4 س.

هل كانت مفيدة؟

المحلول

!(x,y) الانتقال إلى

/(x,y)+ lineto

|(x,y)+ lineto

[(x1 y1 ex ey)+ Curveto (التربيعي)

](x1 y1 ex ey)+ Curveto (التربيعي)

((pBCPx pBCPy)? ; x1 y1 x2 y2 ex ey (({Q,q,P,p})? x y)+ Curveto (بداية مكعبة)

)(nBCPx nBCPy)? ; Curveto (نهاية مكعبة)

Sn الاختيار (n = bitmask ، 1: fillStyle0 ، 2: FillStyle1 ، 4: stroke)

#aaaaaa.bb هو رقم ثابت موقّع 32 بت

نصائح أخرى

HM ... كنت مخطئا في التخمين إلى # القيم!

لقد قمت بإلغاء تجميع الشكل المنتجة ويمكنني القول ، على سبيل المثال القيمة #BD9.4D يجب أن يكون ترميزًا سداسيًا سخيفًا للعدد 3033.77. أود أن أعرف ، لماذا يستخدم Adobe شيئًا من هذا القبيل في الكود الذي يجب أن يكون قابلاً للقراءة البشرية؟

تحرير: ما سبق خطأ ، والنتيجة الصحيحة لـ #BD9.4D هي 3033.30078125

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

لاحظ أيضًا أن الأرقام مثل #19F.2 هي #{00019F20}

حسب 4 س نوع القيم ، يمكن أن تكون مجرد معلومات إضافية لمحرر فلاش لأنه عندما أقوم بإزالتها يدويًا ، يمكنني تحميل المصدر والشكل نفسه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top