練習を兼ねて書いてみました。(思ったより長くなった...)
以下をメモ帳やテキストエディットなどにコピペして、文字コードUTF-8で適当な名前に拡張子「.jsx」で保存してください。
(function(){
var actDoc = app.activeDocument;
var xCnt = prompt("ヨコの数(10以下)", 1);
if(xCnt > 10) {alert("多すぎです"); return;}
var yCnt = prompt("タテの数(10以下)", 1);
if(yCnt > 10) {alert("多すぎです"); return;}
var tCnt = xCnt * yCnt;
preferences.rulerUnits = Units.PIXELS;
var docW = actDoc.width.value;
var docH = actDoc.height.value;
var xx = Math.floor(docW / xCnt);
var yy = Math.floor(docH / yCnt);
var stx = 0, sty = 0, edx = xx, edy = yy, cntx = 1;
for(var i = 1; i < tCnt + 1; i++) {
var layObj = actDoc.artLayers.add();
layObj.name = i;
actDoc.selection.selectAll();
var RGBcolor = makeRdmRGBcolor();
actDoc.selection.fill(RGBcolor, ColorBlendMode.NORMAL, 100, false);
var selReg = [[stx, sty], [edx, sty], [edx, edy], [stx, edy]];
actDoc.selection.select(selReg);
makeLayerMask();
stx += xx; edx += xx; cntx++;
if(cntx > xCnt) {
cntx = 1; stx = 0; edx = xx; sty += yy; edy += yy;
}
}
}());
function makeLayerMask() {
var idMk = charIDToTypeID("Mk ");
var desc14 = new ActionDescriptor();
var idNw = charIDToTypeID("Nw ");
var idChnl = charIDToTypeID("Chnl");
desc14.putClass(idNw, idChnl);
var idAt = charIDToTypeID("At ");
var ref8 = new ActionReference();
var idMsk = charIDToTypeID("Msk ");
ref8.putEnumerated(idChnl, idChnl, idMsk);
desc14.putReference(idAt, ref8);
var idUsng = charIDToTypeID("Usng");
var idUsrM = charIDToTypeID("UsrM");
var idRvlS = charIDToTypeID("RvlS");
desc14.putEnumerated(idUsng, idUsrM, idRvlS);
executeAction(idMk, desc14, DialogModes.NO);
}
function makeRdmRGBcolor() {
var colObj = new SolidColor();
colObj.rgb.red = Math.floor(Math.random() * 255);
colObj.rgb.green = Math.floor(Math.random() * 255);
colObj.rgb.blue = Math.floor(Math.random() * 255);
return colObj;
}
使用方法
- 新規RGBファイルを作成
- プログラムを実行(PhotoshopからJavaScriptの実行方法はお調べください)
- 分割したいヨコの数とタテの数を入力(どちらも10以下に制限しています)
- 左上 → 右下 方向へ、新規レイヤーがランダムな色でマスクを追加した状態で作成されます。



テスト環境
- MacOS 10.13.6 High Sierra
- Photoshop CC2019(ver 20.0.1)
注意事項など
- 数値以外の値を入力すると何もしません。
- ドキュメントサイズ(ピクセル)を分割数で割った余り分の余白が右と下に出る場合があります。
- 100分割など、数が多くなると処理に時間がかかる場合があります。
- ご使用は自己責任でお願いします。