Kann man in Photoshop Slices in Photoshop-Ebenen konvertieren?

8194
MJR

Ich möchte ein Bild aufnehmen und es in kleine Quadrate schneiden, die sich jeweils in einer anderen Ebene befinden (sie nicht als Einzelbilder exportieren). Zum Beispiel, wenn ich ein Bild hatte, das 100 x 100 Pixel groß ist und diese eine Ebene nehmen und jeweils 100 Ebenen mit jeweils 10 x 10 x 10 Quadraten erstellen möchte. Das Bild würde gleich aussehen, aber anstatt eine Ebene zu sein, wäre es ein Raster aus separaten Ebenen, die sich nahtlos wie ein Puzzle zusammenfügen. Wenn ich die Sichtbarkeit einer der Ebenen abschaltete, sah es so aus, als ob ein quadratisches "Stück" des Puzzles fehlen würde.

Ich weiß, dass ich ein Bild in ein Raster schneiden, die Bilder exportieren und dann mit Bridge als Ebenen öffnen kann. Das Problem bei diesem Ansatz ist, dass ich am Ende eine 10 x 10 x 10-Datei mit 100 übereinander gestapelten Schichten anstatt einer 100 x 100 x 10-Datei mit allen Ebenen habe, die ordnungsgemäß angeordnet sind.

Vielen Dank.

4

1 Antwort auf die Frage

6
OAC Designs

Sie können dies alles mit Javascript tun. Hier ist ein kurzes kleines Skript, das ich geschrieben habe. Es kopiert Ihr Bild in 100 Ebenen mit jeweils 10 x 10 Pixeln:

/* --------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(); } } 

Speichern Sie die Datei und laden Sie sie mit Photoshop

Datei> Skripts> Durchsuchen

Stellen Sie sicher, dass der Dateityp auf * .JS eingestellt ist

Wenn Sie die Größe Ihrer Quadrate ändern möchten, öffnen Sie einfach die JavaSCript-Datei in Notepad, ändern Sie den Wert squareSizeund speichern Sie ihn und führen Sie ihn aus.

* BEARBEITEN *

Wenn Sie mit diesem Skript etwas Fortgeschrittenes tun möchten, können Sie ein Referenzhandbuch zu Photoshop Scripting herunterladen , in dem alle Klassen, Funktionen und Variablen aufgelistet sind, mit denen Sie arbeiten können. (Zum Beispiel, wie man eine Ebene dreht).

Das obige Skript verwendet JavaScript-Syntax. Sie können jedoch auch AppleScript und VBScript verwenden, um mit Photoshop zu arbeiten.

Vielen Dank, dieses Skript hat perfekt funktioniert! Und es skaliert auch gut, wenn ich die Proportionen meines Bildes oder den Wert von squareSize verändere. Ich schätze es sehr! MJR vor 11 Jahren 0
Ich bin relativ neu bei Javascript und versuche, die Syntax besser zu lernen. Angenommen, ich wollte Ihr Skript verwenden, um ein paar kleine Quadrate aus einem größeren Bild zu schneiden und einzufügen, es jedoch etwas randomisieren und jedes 5. und 17. Quadrat um 90 Grad und jedes 9. Quadrat um 180 Grad drehen. Wie würde ich das machen? MJR vor 11 Jahren 0
Ich bin selbst Neuling in Photoshop, aber was Sie tun möchten, sollte klar sein. Sie möchten, dass drei Variablen (beispielsweise a, b und c) bei jedem Kopieren / Einfügen einer Auswahl um 1 erhöht werden. Dann hätten Sie if -Anweisungen wie folgt: `Wenn (a == 5) , ansonsten (b == 17) , um Wenn (c == 17) `Den Code zum Drehen einer Ebene finden Sie im Skript-Leitfaden, der in meiner Antwort verlinkt ist. Versuchen Sie es, und wenn Sie nicht weiterkommen, zeigen Sie mir, was Sie getan haben, und ich helfe Ihnen. OAC Designs vor 11 Jahren 0
Funktioniert gut. Wahrscheinlich lohnt es sich zu sagen, bevor Sie laufen. Bei einer Datei mit 1000 x 1000 Pixeln mit Quadrate = 10 sind das 10.000 Ebenen. BJ292 vor 11 Jahren 1
Ein guter Punkt: +1 Abgesehen von den Speicherproblemen im Zusammenhang mit so vielen Schichten, würde es auch eine Weile dauern, bis der Vorgang abgeschlossen ist. OAC Designs vor 11 Jahren 0
@ DigitalBiscuits, danke für die Tipps, ich freue mich, dass Sie sich die Zeit genommen haben! Ich lass dich wissen, was mir einfällt. MJR vor 11 Jahren 0