Изменить текст в файле AEPX программно - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь разработать API с использованием PHP, который будет получать текст от пользователя в качестве ввода. Мне нужно изменить текст внутри файла AEPX. В своем исследовании я обнаружил тег и , содержащий текстовое значение и соответствующее его шестнадцатеричное значение соответственно.

Я могу анализировать и заменять текст тегов в aepx. Я также могу изменить шестнадцатеричные значения атрибута bdata .

Но после всех внесенных мною изменений это не рендеринг (попытался запустить с помощью команды aerender). Также происходит сбой приложения After Effects (последняя версия -cc 2018) при открытии измененного файла AEPX.

Пример:

Оригинал

<ldta bdata="0000000c00020000000000010000000000005da80000000000005da8000afc8000005da80000008700 0000000000000000000000000000000000000100010000506c616365686f6c6465722074657874000000000000 000000000000000000000000000200000000000000000000000100000000000000000000000000000000000000 0300000000000000000000000000000000000000000000000000000000"/>

<string>Placeholder text</string>

после изменения

<ldta bdata="0000000c00020000000000010000000000005da80000000000005da8000afc8000005da80000008700 000000000000000000000000000000000000010001000048656C6C6F20576F726C642100000000000000000000 000000000000000000020000000000000000000000010000000000000000000000000000000000000003000000 00000000000000000000000000000000000000000000000000"/>

<string>Hello World!</string>

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Это можно сделать с помощью выражений After Effects. Ниже приведены шаги, которые работали для меня:

  1. Открыть проект в AfterEffects
  2. Перейти к текстовому слою, который вы хотите изменить
  3. Щелкните значок стрелки, который показывает подраздел с изображением секундомера и текстом «Исходный текст»
  4. ALT + щелкните значок секундомера, под ним вы увидите еще один раздел с текстом «Исходный текст выражения»
  5. Дайте его значение как "thisLayer.name"
  6. Нажмите Файл> Сохранить как> Сохранить как xml
  7. Это создаст вам файл AEPX.
  8. Откройте файл AEPX в любом текстовом редакторе и найдите текст, который вы хотите изменить. Убедитесь, что это выглядит так, как на рисунке ниже. Ниже приведена строка выражения «thisLayer.name», которую мы создали с помощью AfterEffects на предыдущих этапах.
  9. Теперь измените текст «Это текст, который будет изменен» на все, что вы хотите,
  10. Визуализация и проверка. Если все в порядке, то его необходимо изменить.

Прикрепленные изображения:

  1. Действия After Effects для настройки выражения
  2. Образец проблеск Aepx.

enter image description here

enter image description here

0 голосов
/ 11 мая 2018

Учтите: Placeholder text имеет 16 символов (так как также считается символ space).

Убедитесь, что ваш новый input текст имеет ту же длину , что и Placeholder text длина в общем количестве символов (вы можете использовать пробелы для увеличения длины, где это необходимо для более короткого текста).

Самое простое решение:

  • Сделать Placeholder text максимально ожидаемой длины (например, 30 символов), поэтому в AE вы создаете текстовое поле и нажимаете space 30 раз (или делаете 10 пробелов, а затем копируете эти 10 пробел символов и вставьте их еще 2 раза).

  • Ваш PHP API должен проверять длину текста input, а если меньше 30 символов, заполнить остаток пробелом " ", возможно, используя цикл For . Если input превышает 30-й предел, то обрежьте до первых 30 символов и игнорируйте остальные.

  • Конечная строка должна иметь ту же длину, что и текстовое поле, которое вы создали в A.E. Теперь ваш API может безопасно поместить окончательный текст в ваш файл AEPX.

...