Как определить фигуру TextFrame

  • Автор темы Автор темы Septic87
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Septic87

Участник
Топикстартер
Сообщения
29
Реакции
0
Всем привет
Добавил я через гуй в документ прямоугольник и овал, последнему задал idContentType.idTextType. Смотрю коллекции овалов - там пусто, а в TextFrames есть один элемент. Как определить, что он является овалом или какой-то другой фигурой? Гугл, пока ничего не смог подсказать, или я не умею им пользоваться.
Заранее спасибо за помощь.
 
Последнее редактирование:
Непосредственно через indesign cs6.
Запустил, создал документ, добавил фигуры у одной из них изменил "Содержимое" на текст.
 
Дак он является TextFrame-м. Кастануть к Oval или любой другой фигуре не получается.
 
Уп-с! Что-то я не додумал, что происходит преобразование типа :(
Как вариант: посмотреть point type точек контура объекта - у овального будет 4 штуки smooth или symmetrical. При этом есть шанс поймать все скругленно-четырехточечное.
 
может, попробовать так - сделать дубликат, удалить текст, сменить contentType и посмотреть, дубликат потом удалить
 
сменить contentType и посмотреть, дубликат потом удалить
А он что, после этого останется овалом? Чтото сомнительно.
Я не пойму цель действа - у топикстартера есть контур, он пытается программно распознать в этом контуре стандартную фигуру - нафига???
Впрочем, овал прекрасно идентифицируется по четырем точкам, если, конечно, очень сильно надо.
 
овалом останется.

нафига - уже вопрос к топекстартеру
 
разумеется. только для скриптинга эту инфу не вытащить, похоже. ну по точкам конечно можно смотреть
 
Хорошо, зайдем чуть с другой стороны. Пересохраним в IDML и снова откроем. Овал остался овалом? Насколько я помню, в IDML классификаторы путей - границ фрейма не хранятся вообще. Странно в этом случае, если б они хранились в INDD 'hmmm'
 
ну этак вообще бы idml пользоваться было нельзя, если бы он из эллипса прямоугольник делал


аналогичное обсуждение
https://forums.adobe.com/message/4692442
 
Нормально всё определяется:
Код:
var doc = app.activeDocument;
var sel = doc.selection[0];  //овальный textFrame
sel.contentType = ContentType.UNASSIGNED;
sel = doc.selection[0];
alert(sel.constructor.name);  //Oval
Фрейм, понятно, должен быть пустой. Если не пустой — продублировать, удалить текст, сменить контентТайп уже дело техники.
 
при передаче уже известных сведений количество информации равно нулю :)
 
Статус
Закрыто для дальнейших ответов.