Die einzige Möglichkeit, dies zu tun, besteht darin, ein Raster mit Hilfslinien zu gestalten und dann das Bild mit dem Slice-Werkzeug zu schneiden. Auf diese Weise können Sie das Bild in viele Einzelteile aufteilen. Nachdem Sie das Slice-Tool verwendet haben, können Sie „Für Web speichern“ und nur die Slices als jeweils separate Bilddatei exportieren.
Wie teile ich ein Photoshop-Dokument in ein Raster auf?
Wenn ich ein Photoshop-Dokument habe, das beispielsweise ein Bild enthält. Wie kann ich es in ein Raster einteilen? Ähnlich wie beim Wählen: - Wählen Sie ein Rechteck aus - neue Ebene über Ausschneiden - bewegen Sie sich zum nächsten Rechteck, vertikal wiederholen?
Alle Skripte / Plugins, die das automatisieren / parametrisieren?
3 Antworten auf die Frage
Es ist einer Frage ähnlich, die ich hier beantwortet habe: Ich habe ein kostenloses Tool empfohlen, mit dem Sie dies tun können, exportieren Sie das PNG, laden Sie das PNG dort und drücken Sie die Taste ....
Es wurden auch andere Soutions vorgeschlagen.
All nice answers, thanks for the contribution.
As I said, I wondering if there was something out there for Photoshop.
For documentation purposes here is a little script I wrote:
var doc = app.activeDocument; var arranger = makeDialog(); arranger .arrange.onClick = function(){ if(isNaN(parseInt(arranger.w.text)) || isNaN(parseInt(arranger.h.text)) || isNaN(parseInt(arranger.c.text)) || isNaN(parseInt(arranger.r.text))){ alert('Yo! Can you feed \' dis dialog some integer numbers ?\n For Real!'); }else{ sliceLayer(parseInt(arranger.w.text),parseInt(arranger.h.text),parseInt(arranger.r.text),parseInt(arranger.c.text)); } arranger.close(); } arranger.show(); function sliceLayer(w,h,r,c){ var hw = w * 0.5; var hh = h * 0.5; var l0 = doc.activeLayer; for(var j = 0 ; j < r ; j++){ for(var i = 0 ; i < c; i++){ var x = i * w; //edited var y = j * h; //here //select doc.selection.select([[x,y],[x+w,y],[x+w,y+h],[x,y+h]]); //new layer via cut doc.selection.cut(); var layer = doc.artLayers.add(); doc.paste(); //move //$.writeln('translate x: '+(y)+', y: '+(x)); layer.translate(y,x); doc.activeLayer = l0; } } l0.remove();//remove original layer(now empty) } function makeDialog(){ var dialog = new Window('dialog','Slice and Dice'); dialog.frameLocation = [300,300]; dialog.w = dialog.add('edittext',undefined,'Selection width'); dialog.w.prefferedSize = [200,50]; dialog.h = dialog.add('edittext',undefined,'Selection height'); dialog.h.prefferedSize = [200,50]; dialog.c = dialog.add('edittext',undefined,'Grid Columns(V sections)'); dialog.c.prefferedSize = [200,50]; dialog.r = dialog.add('edittext',undefined,'Grid Rows(H sections)'); dialog.r.prefferedSize = [200,50]; dialog.arrange = dialog.add('button',undefined,'Chop Chop'); return dialog; }
If you save this in Photoshop/Presets/Scripts, you should be able to access it through Scripts in the File menu.
The problem with the JSX approach is, it is a bit slow for large subdivisions (100x100).
I'm guessing it will be faster to try with MATLAB/Photoshop communication, but I'll skip that for now.
Achieved the same goal in actionscript 3 using copyPixels() and it's pretty fast.
Verwandte Probleme
-
3
Wie kann ich eine Verzeichnisstruktur "invertieren"?
-
1
Foobar2000 spielt die gleiche Gruppe von Songs weiter, auch wenn die Reihenfolge zufällig ist
-
1
Thunderbird-Addon "Ordner anhängen"?
-
5
Suchfeld in Chrome
-
6
Firebug-ähnliche Anwendung für Chrom?
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
3
Erweiterungen für die Zune-Software
-
7
Starten Sie den Synergy-Client beim Booten in Mac OS X
-
5
Mit Updates auf dem Laufenden bleiben?
-
4
Wie synchronisieren Sie GreaseMonkey-Skripts zwischen Computern?