2014-10-07 43 views

回答

0

是的,沒有。計算每個單獨圖像的位置會很困難(並且可能涉及掃描每個像素的緩慢複雜過程)

但是有一種解決方法!沒有看到這些圖像是什麼樣子,我們假設

  • 整個圖像都是一個圖層。
  • 個人圖像是矩形
  • 個體圖像不包含在邊界

,條件是任何白色的,你可以在左上角選擇魔杖,反選,切出的圖像。

//select top left hand corner 
magicWand(0,0); 

// inverse selection 
activeDocument.selection.invert(); 

//copy image 
activeDocument.selection.cut(); 

function magicWand(x,y) 
{ 
    var id4109 = charIDToTypeID("setd"); 
    var desc623 = new ActionDescriptor(); 
    var id4110 = charIDToTypeID("null"); 
    var ref398 = new ActionReference(); 
    var id4111 = charIDToTypeID("Chnl"); 
    var id4112 = charIDToTypeID("fsel"); 
    ref398.putProperty(id4111, id4112); 
    desc623.putReference(id4110, ref398); 
    var id4113 = charIDToTypeID("T "); 
    var desc624 = new ActionDescriptor(); 
    var id4114 = charIDToTypeID("Hrzn"); 
    var id4115 = charIDToTypeID("#Pxl"); 
    desc624.putUnitDouble(id4114, id4115, x); 
    var id4116 = charIDToTypeID("Vrtc"); 
    var id4117 = charIDToTypeID("#Pxl"); 
    desc624.putUnitDouble(id4116, id4117, y); 
    var id4118 = charIDToTypeID("Pnt "); 
    desc623.putObject(id4113, id4118, desc624); 
    var id4119 = charIDToTypeID("Tlrn"); 
    desc623.putInteger(id4119, 0); 
    executeAction(id4109, desc623, DialogModes.NO); 
}