Перевод координат из мм в точки

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

ballast

Участник
Топикстартер
Сообщения
22
Реакции
0
КАк можно перевести мм в точки?

В диалоге EDIT->Preferenc->Units&Increm есть число,которое показывает сколько точек в дюйме.А в дюйме 26 точек.Проблема как добраться до этого заветного числа!!!!!
 
Ответ: Перевод координат из мм в точки

Не совсем понял что это за точки (points? - это пункты), почему их 26 в дюйме, и в чем сложность перевести их в мм?

Если этих непонятных точек 26 в дюйме - имеем 25,4/26 = 0,9769230769231 мм.

И, наконец, самое интересное - почему тема в скриптинге?

ЗЫ
На случай, если имелись ввиду пункты могу сообщить что их длина 0,353 мм.
 
Ответ: Перевод координат из мм в точки

Проблема в том что я не могу создать документ заданных размеров.
Я считываю размеры в мм.Но когда надо передать считанные размеры структуре DocumentPrefer,начинаются проблемы,т.к. размеры как я понял надо подавать в points!!!Я считал их в координаты.И надо размеры перевести в points.
Мне интересно влияет ли EDIT->Preferenc->Units&Increm число на кол-во мм в точке или нет?
Если да,то надо узнать как-то это число.Так вот я не могу в скрипте до него добраться-просто не знаю чье свойство(догадываюсь что м.б. Application)! ':('
 
Ответ: Перевод координат из мм в точки

Не знаю, что там у вас не получается, секретный вы наш, но вот этот код создает документ размером 120pt на 200pt:
PHP:
with (app) {
	var myDoc = documents.add();
	myDoc.documentPreferences.pageWidth = '120pt';
	myDoc.documentPreferences.pageHeight = '200pt';
}
а этот 120 mm на 200 mm:
PHP:
with (app) {
	var myDoc = documents.add();
	myDoc.documentPreferences.pageWidth = '120mm';
	myDoc.documentPreferences.pageHeight = '200mm';
}
 
Ответ: Перевод координат из мм в точки

Мне интересно влияет ли EDIT->Preferenc->Units&Increm число на кол-во мм в точке или нет?
Не влияет. По одной простой причине: в точке нет никаких мм. Да и что это за "точка" такая?! Нет такой полиграфической единицы измерения. Есть пункт.

Так вот я не могу в скрипте до него добраться-просто не знаю чье свойство(догадываюсь что м.б. Application)!
app.viewPreferences.horizontalMeasurementUnits и app.viewPreference.verticalMeasurementUnits
 
Ответ: Перевод координат из мм в точки

а этот 120 mm на 200 mm:
Огромное спасибо!!!Помогли:)

Наконец-то могу получать нужные размеры.
 
Ответ: Перевод координат из мм в точки

vbatushev сказал(а):
Не знаю, что там у вас не получается, секретный вы наш, но вот этот код создает документ размером 120pt на 200pt:
PHP:
with (app) {
	var myDoc = documents.add();
	myDoc.documentPreferences.pageWidth = '120pt';
	myDoc.documentPreferences.pageHeight = '200pt';
}

Вот я пишу:
Код:
anchoredObjectSettings.anchorYoffset = 2;
Смещает фрейм на 2 пункта(!). А я в мм хочу:
Код:
anchoredObjectSettings.anchorYoffset = '2mm';
А вот так вообще выдает ошибку типа - "давай real".
 
Ответ: Перевод координат из мм в точки

mihailo-v сказал(а):
Код:
anchoredObjectSettings.anchorYoffset = '2mm';
А вот так вообще выдает ошибку типа - "давай real".
В референсах четко указано — Type только real, а не string или variant.
 
Ответ: Перевод координат из мм в точки

Steve сказал(а):
В референсах четко указано — Type только real, а не string или variant.
То есть самому пересчитывать надо?

Кстати почти по теме вопросец у меня имеется...
Плейсит значит скрипт мой файлы в текст, получилась куча anchoredObject'ов. Я хочу привести их к одному виду, скажем ширина у всех = 30мм. При этом чтобы пропорции сохранились. Сделал следующим образом, получилось тормозно очень:

Код:
with(myFrame.rectangles[1]){
  var myWidth = geometricBounds[3]-geometricBounds[1];
  var myScale = 100*(myNewWidth/myWidth);
  with(anchoredObjectSettings){
    anchoredPosition = AnchorPosition.anchored;
    anchorPoint = AnchorPoint.topCenterAnchor;
    horizontalReferencePoint = AnchoredRelativeTo.textFrame;
    verticalReferencePoint = AnchoredRelativeTo.textFrame;
    horizontalAlignment = HorizontalAlignment.centerAlign;
    verticalAlignment = VerticalAlignment.topAlign;
    anchorYoffset = 10;
  }
  horizontalScale = myScale;      
  verticalScale = myScale;
}

Во-первых, нельзя ли чтобы при вызове .place фрейм сразу же вставлялся с некими заданными параметрами?
Во-вторых, можно ли задать ширину без доп. вычислений (myScale)? Типа как если бы я написал в окошке transform w=30mm, а затем нажал Ctrl+Enter.
 
Ответ: Перевод координат из мм в точки

mihailo-v сказал(а):
Во-первых, нельзя ли чтобы при вызове .place фрейм сразу же вставлялся с некими заданными параметрами?
Во-вторых, можно ли задать ширину без доп. вычислений (myScale)? Типа как если бы я написал в окошке transform w=30mm, а затем нажал Ctrl+Enter.
для CS2 (selection[0]==insertionPoint):
Код:
app.selection[0].textFrames.add({geometricBounds:[y1,x1,y1+h,x1+w], fillColor:"Black"})
есть objectstyle и метод fit + contentToFrame/frameToContent и т.д.

place в коде не заметил (что такое myNewWidth?), и лучше не использовать with
 
Ответ: Перевод координат из мм в точки

Я делал так:
PHP:
var myFrame = myStory.insertionPoints.lastItem().rectangles.add();
myFrame.geometricBounds = [myFrame.geometricBounds[0], myFrame.geometricBounds[1], myFrame.geometricBounds[0] + 39, myFrame.geometricBounds[1] + 28];
myFrame.place(File(logoFile));	
myFrame.fit (FitOptions.CONTENT_TO_FRAME);
logoFile в данном случае графический файл с логотипом с именем из базы.
 
Ответ: Перевод координат из мм в точки

Пасиба! буду тестить.
 
Статус
Закрыто для дальнейших ответов.