2017-06-22 291 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,这正是您的预期。

神秘解决了。 :-)