Как я могу получить точку из файла PSD

Я прочитал, но я до сих пор не понял этот пункт:

Все точки, используемые при определении пути, хранятся в восьми байтах в виде пары 32-битных компонентов, в первую очередь вертикального компонента. Два компонента имеют знаковые числа с фиксированной запятой с 8 битами перед двоичной точкой и 24 битами после двоичной точки. Три защитных бита зарезервированы в точках, чтобы устранить большинство проблем по арифметическому переполнению. Следовательно, диапазон для каждого компонента составляет от 0xF0000000 до 0x0FFFFFFF, представляющий диапазон от -16 до 16. Нижняя граница включена, но не верхняя граница. Этот ограниченный диапазон используется, потому что точки выражены относительно размера изображения. Вертикальный компонент задается относительно высоты изображения, а горизонтальный компонент задается относительно ширины изображения. [ 0,0 ] представляет левый верхний угол изображения; [ 1,1 ] ([ 0x01000000,0x01000000 ]) представляет справа внизу. В Windows порядок байтов компонентов точек пути меняется на обратный; Вы должны поменять местами байты при доступе к каждому 32-битному значению.

Я сделал тест этого: ссылка

и понять суть этого:

  • x1: 7e0e42 y1: 0
  • x2: 7e0e42 y2:0
  • x3: 7e0e42 y3:0

  • х1: 1000000 у1: 0

  • х2:1000000 у2:0
  • х3:1000000 у3:0
  • первая в левом верхнем углу красного прямоугольника;
  • вторая наверху
  • справа от красного прямоугольника;
  • ширина холста 790 пикселей
  • верхний левый в 389px

Как я могу получить номер 389 от 7e0e42? Я просто не могу понять смысл этого абзаца.

большое спасибо

1 ответ

Немного поздно, но:

Ты первый x значение 0x007e0e42 в представлении с фиксированной точкой, упомянутым в тексте. Это означает 0 + 0x7e0e42 / 0xffffffили 0,49240505695343 (приблизительно) в плавающей запятой.

Помните, что координаты даны "относительно размера изображения". Если вы умножите это на ширину изображения 790, вы получите 388,9999999993209839, которая должна округляться до 389, как и ожидалось.

Тайна разгадана.:-)

Другие вопросы по тегам