2017-06-22 293 views
0

點我已閱讀,但我還是不明白這一段:我怎樣才能從PSD文件

在定義路徑中使用的所有點都存儲在八個字節爲一對 的32首先是垂直分量。這兩個組成部分是 帶符號的固定點數,在二進制點之前有8位,在二進制點之後有24位有效數字爲。 點中保留了三個保護位,以消除對算術溢出的擔憂。因此,每個組件的 範圍爲0xF0000000至0x0FFFFFFF,表示範圍爲-16至16的 。包含下限,但不包括上限。使用這個有限的範圍是因爲點相對於圖像大小被表示爲 。相對於圖像高度垂直分量爲 ,水平分量相對於圖像寬度爲 。 [0,0]代表圖像的左上角 ; [1,1]([0x01000000,0x01000000])表示右下角的 。在Windows中,路徑點 組件的字節順序相反;在訪問每個32位值時,應該交換字節。

我做的一個測試:link

,並得到了一點:

  • X1:7e0e42 Y1:0
  • X2:7e0e42 Y2:0
  • x3:7e0e42 y3:0

  • x1:1000000 y1:0

  • X2:1000000個Y2:0
  • X3:1000000個Y3:0
  • 最前一頁是在紅色矩形的左上角;
  • 第二位在頂部
  • 右邊紅色矩形;
  • 畫布寬度爲790px
  • 左上角爲389px

我怎樣才能得到389從7e0e42多少? 我只是無法理解該段的含義。

非常感謝

回答

0

晚了一點,但是:

你的第一個x值是在文中提到的固定點表示0x007e0e42。這意味着0 + 0x7e0e42/0xffffff或0.49240505695343(大約)處於浮點狀態。

請記住,座標爲「相對於圖像大小」。如果將此乘以790的圖像寬度,則會得到388.999994993209839,這應該很好地達到389,這正是您的預期。

神祕解決了。 :-)