Точное указание размеров фрейма при помещении картинки

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

leechdraw

Участник
Топикстартер
Сообщения
50
Реакции
0
Проблема вот какого свойства.
Имеем набор картинок определенного размера в tiff. Про каждую картинку известны ее высота и ширина. Причем в реальности зачастую из-за кривых рук изготовителей картинок реальные размеры высоты и ширины могу слегка не соответствовать действительности (+ - 1-2 милиметра).
Необходимо разместить эти файлы в документе InDesign при чем естественно что размер фреймов должен быть точным (например, 120х70 мм).
Я написал вот такой скрипт:
Код:
function plf(f,p,x,y,w,h)	
{
r=app.activeDocument.pages.item(p).rectangles.add();							 			

r.place(f);
r.geometricBounds=[0,0,h,w];
r.fit(FitOptions.CONTENT_TO_FRAME);					

r.textWrapPreferences.textWrapType   = TextWrapTypes.JUMP_OBJECT_TEXT_WRAP;
. //Небольшие магические манипуляции вычисления точных координат
r.move([x,y]);
}

Собственно f - ссылка на файл, p - номер страницы, X,Y - "неправильные" координаты (относительные потом они пересчитываются в реальные), w,h - высота и ширина объекта в миллиметрах.
По итогу получаем фрейм, который стоит в правильном месте, но при это имеет не правильные размеры. Если в ручную установить у такого фрейма высоту и ширину, а потом указать типа fit'a то все нормально - картинка масштабируется. Но вот в скрипте мне реализовать такой ход не удалось.
PS вместо имени константы fit'a использовал и числовое обозначение, ничего не изменилось.
PPS
Пример вызова функции в скрипте:
var myfile=File("/C/v6/auto_verst/tuk/v326000804.tif"); plf(myfile,0,0,3,87,45);
В итоге получается фрейм вот с такими размерами:
w = 87.353 mm, h = 45.353 mm.
Место положение тоже не точное, и тоже отличается на несколько сотых миллиметра.
Сразу скажу что исключить вопросы.
1. Вычисления производятся в мм, предварительно для документа устанавливается, что единица измерения мм.
2. опущенные вычисления НЕ содержат умножения и деления (только + и - в зависимости от того правая это страница или левая), то есть и там эта ошибка возникнуть не может.
Заранее спасибо.
 
Ответ: Точное указание размеров фрейма при помещении картинки

Что-то число 0.353 сильно напоминает 1р. Если быть точнее, то, конечно, 0.35278. Может дело в обводке?

AirGraph.
 
Ответ: Точное указание размеров фрейма при помещении картинки

AirGraph сказал(а):
Что-то число 0.353 сильно напоминает 1р. Если быть точнее, то, конечно, 0.35278. Может дело в обводке?

AirGraph.
Кхм. Все бы было ничего)) Я просто программер, а не верстак. Но тут немного посмотрел на картинки и да у них есть обводка (тонкий черный кант). Немного помучав тех кто раньше делал это руками выяснилось следующее.
1. Картинки делаются в Кореле.
2. Даже при задании точного размера размер экспортируемого tiff всегда отличается на размер обводки.
3. На резонный вопрос, как же вы тогда ваще их точно так расставляете был дан ответ: Мы их масштабируем под точно созданный фрейм.
Ну последнее я и сам понял о чем и указал в первом посте. Теперь вопрос. Как это сделать скриптом. Приведенный кусок просто не работает. То есть плейс происходит, но размер фрейма, как я указал, не точны.
Возможно я вас не правильно понял и следует копать именно в сторону обводки у фрейма? если да то как ее отключить?
 
Ответ: Точное указание размеров фрейма при помещении картинки

Копать именно в сторону обводки фрейма, сиречь создавать фрейм без обводки. Про корел я не в курсе, не пользуюсь.

AirGraph.
 
Ответ: Точное указание размеров фрейма при помещении картинки

AirGraph сказал(а):
Копать именно в сторону обводки фрейма, сиречь создавать фрейм без обводки. Про корел я не в курсе, не пользуюсь.

AirGraph.
Спасибо. Оказалось что именно оно и есть)))
Большое спасибо.
Проблема решена. Тема закрыта.
 
Ответ: Точное указание размеров фрейма при помещении картинки

Для тех кому вдруг понадобится.
Код:
r.strokeWeight=0;
где r - объект Rectangle.
 
Ответ: Точное указание размеров фрейма при помещении картинки

r=app.activeDocument.pages.item(p).rectangles.add({strokeWeight:0});
 
Ответ: Точное указание размеров фрейма при помещении картинки

LeshikSan сказал(а):
r=app.activeDocument.pages.item(p).rectangles.add({strokeWeight:0});
не плохой вариант. Я о нем не подумал. Сказывается отсутствие привычки к JS. Буду знать.
 
Ответ: Точное указание размеров фрейма при помещении картинки

leechdraw сказал(а):
Проблема вот какого свойства.
Имеем набор картинок определенного размера в tiff. Про каждую картинку известны ее высота и ширина. Причем в реальности зачастую из-за кривых рук изготовителей картинок реальные размеры высоты и ширины могу слегка не соответствовать действительности (+ - 1-2 милиметра).
Необходимо разместить эти файлы в документе InDesign при чем естественно что размер фреймов должен быть точным (например, 120х70 мм).

А, ежели не секрет, что за систему пишешь?
 
Ответ: Точное указание размеров фрейма при помещении картинки

Да вобщем-то не секрет. Автоматическая верстка журнала о недвижимости. +) Данные берутся из MS SQL (ну текстовая информация), там же лежит описание изображений которые будут вставлены.
 
Статус
Закрыто для дальнейших ответов.