私がやりたいのは、画像を撮り、それをそれぞれ異なるレイヤーにある小さな正方形に切り分けることです(個々の画像としてエクスポートするのではありません)。たとえば、100px x 100pxの画像があり、その1つのレイヤーを取得して、10px x10pxの正方形ごとに100のレイヤーを作成したい場合です。画像は同じように見えますが、1つのレイヤーではなく、パズルのようにシームレスに組み合わされた別々のレイヤーのグリッドになります。レイヤーの1つの表示をオフにすると、パズルの1つの正方形の「ピース」が欠落しているように見えます。
画像をグリッドにスライスし、画像をエクスポートしてから、Bridgeを使用してレイヤーとして開くことができることを知っています。このアプローチの問題は、すべてのレイヤーが適切に配置された100px x 100pxのファイルではなく、100のレイヤーが互いに積み重ねられた10px x10pxのファイルになってしまうことです。
ありがとう。
これはすべてJavascriptを使用して行うことができます。 ここに簡単なスクリプトがあります 私が書いた、それはあなたの画像を100層にコピーします、それぞれ10px×10px:
/*
--------Photoshop Script - Grid to Layers------------
Author: Oisin Conolly
www.DigitalBiscuits.co.uk
This basic script will create new layers from your active layer, each equal in size according to the grid dimensions specified.
*/
//this is the size of our squares in pixels
var squareSize = 10;
var docRef = app.activeDocument;
//set the ruler type
if (app.preferences.rulerUnits != Units.PIXELS)
{
app.preferences.rulerUnits = Units.PIXELS;
}
var layerRef = docRef.activeLayer;
for (y = 0; y<docRef.height; y+=squareSize)
{
for (x = 0; x<docRef.width; x+=squareSize)
{
//activate the original layer
docRef.activeLayer = layerRef;
//make the selection
docRef.selection.select(Array (Array(x, y), Array(x, y+squareSize), Array(x+squareSize,y+squareSize), Array(x+squareSize,y)), SelectionType.REPLACE, 0, false);
//copy the selection
docRef.selection.copy();
//create and paste new layer
docRef.artLayers.add();
docRef.paste();
}
}
それを使用するには、そのファイルを保存し、に移動してPhotoshopでロードします。
ファイル>スクリプト>参照
ファイルタイプが* .JSに設定されていることを確認してください
正方形のサイズを変更したい場合は、メモ帳でJavaSCriptファイルを開き、squareSize
の値を変更して保存し、実行します。
このスクリプトでより高度なことをしたい場合は、 Photoshop Scriptingリファレンスガイド をダウンロードできます。このガイドには、操作できるすべてのクラス、関数、および変数がリストされています。 (たとえば、レイヤーを回転させる方法)。
上記のスクリプトはJavaScript構文を使用していますが、AppleScriptおよびVBScriptを使用してPhotoshopを操作することもできます。