DTP駆け込み寺
  1. [12636] InDesign CS5.5 ショートカットで1℃回転 エケモゴーザ 2011/08/26 16:57
    1. [12637] Re: InDesign CS5.5 ショートカットで1℃回 いき◆OTKUlNBtV0 2011/08/26 18:17
      1. [12639] Re^2: InDesign CS5.5 ショートカット いき◆OTKUlNBtV0 2011/08/26 18:27
    2. [12640] Re: InDesign CS5.5 ショトカトで1°回転 (z-) 2011/08/26 18:41
      1. [12641] Re: InDesign CS5.5 ショトカトで1°回転 (z-) 2011/08/26 18:50
        1. [12642] Re: InDesign CS5.5 ショトカトで1°回転 (z-) 2011/08/26 18:56
          1. [12643] Re: InDesign CS5.5 ショトカトで1°回転 (z-) 2011/08/26 19:05
            1. [12644] Re^2: InDesign CS5.5 ショトカで1°回転 エケモゴーザ 2011/08/26 19:37
              1. [12645] Re: InDesign CS5.5 ショトカで1°回転 (z-) 2011/08/26 19:44
              2. [12647] Re^3: InDesign CS5.5 ショトカで1°回転 いき◆OTKUlNBtV0 2011/08/29 09:19
                1. [12651] Re: InDesign CS5.5 ショトカで1°回転 (z-) 2011/08/29 11:31
                  1. [12652] Re^2: InDesign CS5.5 ショトカで1°回転 (z-) 2011/08/29 12:04
    3. [12646] 2011/08/27 18:09

[ 返信 ]

InDesign CS5.5 ショートカットで1℃回転

いつもお世話になってます。
インデザインCS5.5のキーボードショートカットで1℃だけ右回転
同じように左回転を登録をして、マスクに写真を入れたあと
楽に角度調整できるようにしたいのです。
スクリプトでできるのかな?と思ったのですが、
私には難しすぎて理解できませんでした。
宜しくお願いします。

[12636] エケモゴーザ (2011/08/26 Fri 16:57)

[ 返信 ]


Re: InDesign CS5.5 ショートカットで1℃回

> インデザインCS5.5のキーボードショートカットで1℃だけ右回転
エラー処理とか考えなければ以下の4行でいけます。
三行目のラストあたり、プラス値で反時計、マイナス値で時計回りに回転します。
(はいさい!さんを参照してください)
http://d.hatena.ne.jp/oimoh/searchdiary?word=%B3%D1%C5%D9

var myImgObj = app.selection[0];
var myAngle = myImgObj.rotationAngle;
var myRotateMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle:myAngle +1});
myImgObj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.CENTER_ANCHOR, myRotateMatrix);

[12637] いき◆OTKUlNBtV0 (2011/08/26 Fri 18:17) web

[ 返信 ]


Re^2: InDesign CS5.5 ショートカット

すみません、間違えました。
このソースでは意図通りに動作しません……。

[12639] いき◆OTKUlNBtV0 (2011/08/26 Fri 18:27) web

[ 返信 ]


Re: InDesign CS5.5 ショトカトで1°回転

おうち用なので多少ぶさいくですが
任意の基準点があればそこを基準にぐるんぐるん回転します。
定規の単位どれでもオケーです。

function unitFunc(ary){
app.activeWindow.transformReferencePoint=["1pt", 0];
x= app.activeWindow.transformReferencePoint[0];
app.activeWindow.transformReferencePoint=ary;
return x;
}

var myruler = false;
if (app.activeDocument.viewPreferences.rulerOrigin != 1380143983) {
myruler = app.activeDocument.viewPreferences.rulerOrigin;
app.activeDocument.viewPreferences.rulerOrigin = 1380143983;
}

if(app.activeDocument.selection.length){
aa=app.activeDocument.selection[0];
tt=app.transformationMatrices.add(1,1,0,1,0,0);
bb=aa.rotationAngle;
cc=app.activeWindow.transformReferencePoint;
if(cc.length==2){
unitObj=unitFunc(cc);
dd=[[cc[0]*unitObj, cc[1]*unitObj],[0,0]];
} else{
dd=cc;
}
aa.transform (2021222766, dd, tt, undefined, undefined);
}

if (myruler) {
app.activeDocument.viewPreferences.rulerOrigin = myruler;
}

[12640] (z-) (2011/08/26 Fri 18:41)

[ 返信 ]


Re: InDesign CS5.5 ショトカトで1°回転

と、すみませんCS4までは動作確認できたのですが(財力の限界)
CS5でコケるそうです。
ほんとすみません。

2人がかりでぐだぐだに orz

[12641] (z-) (2011/08/26 Fri 18:50)

[ 返信 ]


Re: InDesign CS5.5 ショトカトで1°回転

app.selection[0].rotationAngle+=1;

だけで、いいっちゃあいいんですけど。。
ほんとすみません。

[12642] (z-) (2011/08/26 Fri 18:56)

[ 返信 ]


Re: InDesign CS5.5 ショトカトで1°回転

謝りつつ 少し直しました
任意の基準点を軸に1°回転します。

function unitFunc(ary){
app.activeWindow.transformReferencePoint=["1pt", 0];
x= app.activeWindow.transformReferencePoint[0];
app.activeWindow.transformReferencePoint=ary;
return x;
}

var myruler = false;
if (app.activeDocument.viewPreferences.rulerOrigin != 1380143983) {
myruler = app.activeDocument.viewPreferences.rulerOrigin;
app.activeDocument.viewPreferences.rulerOrigin = 1380143983;
}

if(app.activeDocument.selection.length){
aa=app.activeDocument.selection[0];
tt=app.transformationMatrices.add(1,1,0,1,0,0);
bb=aa.rotationAngle;
cc=app.activeWindow.transformReferencePoint;
if(cc.reflect.name=="Array"){
unitObj=unitFunc(cc);
dd=[[cc[0]*unitObj, cc[1]*unitObj],[0,0]];
} else{
dd=cc;
}
aa.transform (2021222766, dd, tt, undefined, undefined);
}

if (myruler) {
app.activeDocument.viewPreferences.rulerOrigin = myruler;
}

[12643] (z-) (2011/08/26 Fri 19:05)

[ 返信 ]


Re^2: InDesign CS5.5 ショトカで1°回転

私スクリプトは初めての挑戦でしたのでかなり緊張しました。
見事に回転したのを見てウチの皆「うわぁ〜@@;」と小躍り。
迅速かつ丁寧な対応をお二人から頂き、一同共々深く感謝しております。
今回を機に私自信、スクリプトの勉強を始めたいと思います。
本当にありがとうございました。

[12644] エケモゴーザ (2011/08/26 Fri 19:37)

[ 返信 ]


Re: InDesign CS5.5 ショトカで1°回転

ほんとにぐだぐだですみませんでした。。
ぐだぐだついでに、余計な処理が残っていたので整理させてください(土下座)

function unitFunc(ary){
app.activeWindow.transformReferencePoint=["1pt", 0];
x= app.activeWindow.transformReferencePoint[0];
app.activeWindow.transformReferencePoint=ary;
return x;
}

if(app.activeDocument.selection.length){
aa=app.activeDocument.selection[0];
tt=app.transformationMatrices.add(1,1,0,1,0,0);
bb=aa.rotationAngle;
cc=app.activeWindow.transformReferencePoint;
if(cc.reflect.name=="Array"){
unitObj=unitFunc(cc);
dd=[[cc[0]*unitObj, cc[1]*unitObj],[0,0]];
} else{
dd=cc;
}
aa.transform (2021222766, dd, tt, undefined, undefined);
}

--------------------------------------------
以上で完成形とします。
(1,1,0,1,0,0)の部分は、1番目と2番目が拡大縮小、4番目が回転となっています。
必要分書き換えて作っておくと便利かと。

[12645] (z-) (2011/08/26 Fri 19:44)

[ 返信 ]


Re^3: InDesign CS5.5 ショトカで1°回転

AJABONさんの完成版が汎用性が高く、私も勉強になりました。
ちなみに、私の書いたのを一応動くように書き換えるとすると以下のようになります。
3行目の末尾、+1で反時計回りに1度ずつ、-1で時計回りに1度ずつとなります。

if (app.selection.length === 1) {
var myImgObj = app.selection[0];
var myAngle = myImgObj.rotationAngle - myImgObj.rotationAngle +1;
var myRotateMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle:myAngle});
myImgObj.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.CENTER_ANCHOR, myRotateMatrix);
}
else {alert("オブジェクトを1つだけ選択してください");}

[12647] いき◆OTKUlNBtV0 (2011/08/29 Mon 09:19) web

[ 返信 ]


Re: InDesign CS5.5 ショトカで1°回転

…すごくすみません。 カケルとワルを間違えておりました。
みっちり検証の上、これでほんとのほんとです。
もう、沸騰するまで回転しちゃって下さい。

function unitFunc(ary){
app.activeWindow.transformReferencePoint=["1pt", 0];
x= app.activeWindow.transformReferencePoint[0];
app.activeWindow.transformReferencePoint=ary;
return x;
}

if(app.activeDocument.selection.length){
aa=app.activeDocument.selection[0];
tt=app.transformationMatrices.add(1,1,0,1,0,0);
bb=aa.rotationAngle;
cc=app.activeWindow.transformReferencePoint;
if(cc.length==2){
unitObj=unitFunc(cc);
dd=[[cc[0]/unitObj, cc[1]/unitObj], [0, 0]]
} else{
dd=cc;
}
aa.transform (CoordinateSpaces.PASTEBOARD_COORDINATES, dd, tt, undefined, undefined);
}

[12651] (z-) (2011/08/29 Mon 11:31)

[ 返信 ]


Re^2: InDesign CS5.5 ショトカで1°回転

> みっちり検証の上、これでほんとのほんとです。
というのは冗談で、以下が最終版となります(超土下座)

function unitFunc(ary){
app.activeWindow.transformReferencePoint=["1pt", 0];
x= app.activeWindow.transformReferencePoint[0];
app.activeWindow.transformReferencePoint=ary;
return x;
}

if(app.activeDocument.selection.length){
aa=app.activeDocument.selection[0];
tt=app.transformationMatrices.add(1,1,0,1,0,0);
bb=aa.rotationAngle;
cc=app.activeWindow.transformReferencePoint;
if(cc.reflect.name=="Array"){
unitObj=unitFunc(cc);
dd=[[cc[0]/unitObj, cc[1]/unitObj], [0, 0]]
} else{
dd=cc;
}
aa.transform (CoordinateSpaces.PASTEBOARD_COORDINATES, dd, tt, undefined, undefined);
}

[12652] (z-) (2011/08/29 Mon 12:04)

[ 返信 ]


なんで温度を回転するの?

[12646] (2011/08/27 Sat 18:09)