Как я разделяю Документ Photoshop на сетку?

Если у меня есть Документ Photoshop, содержащий изображение, например. Как я могу повредить его в сетку? Подобный выполнению: - выбирают прямоугольник - новый Слой Через Сокращение - перемещается в следующий прямоугольник, вертикально повторяются?

Какие-либо сценарии/плагины, которые автоматизировали/параметризовали это?

2
задан 22.01.2010, 18:42

3 ответа

Все хорошие ответы, спасибо за вклад.

Как я сказал, я задающийся вопросом, было ли что-то там для Photoshop.

Поскольку целями документации здесь является немного сценария, я записал:

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));
            // move layer with relative coordinates
            // layer.translate(y,x); 
            // move layer with absolute coordinates
            MoveLayerTo( layer, x, y );
            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;
}

//******************************************
// MOVE LAYER TO
// Author: Max Kielland
//
// Moves layer fLayer to the absolute
// position fX,fY. The unit of fX and fY are
// the same as the ruler setting. 

function MoveLayerTo(fLayer,fX,fY) {

    var Position = fLayer.bounds;
    Position[0] = fX - Position[0];
    Position[1] = fY - Position[1];

    fLayer.translate(-Position[0],-Position[1]);
}

При сохранении этого в Photoshop/предварительных установках/сценариях как .jsx файл необходимо смочь получить доступ к нему через Сценарии в меню File. Можно также использовать Файл-> Сценарии-> Обзор... со сценарием где угодно на компьютере.

Это попросит четыре вещи:

  • Ширина выбора — Как широкий Вы хотите, чтобы каждый блок в сетке был
  • Высота выбора — Как высокий Вы хотите, чтобы каждый блок в сетке был
  • Столбцы сетки (V разделов) — Сколькими там должны быть столбцы, после того как это разделено
  • Строки сетки (H разделы) — Сколькими там должны быть строки, после того как это разделено

Если Вы получаете ошибку о документе, не находимом, просто необходимо открыть изображение сначала прежде, чем выполнить его.

Проблема с этим подходом JSX, это немного медленно для больших подразделений (100x100).

Я предполагаю, что это будет быстрее для попытки коммуникацией MATLAB/Photoshop, но я пропущу это на данный момент.

Достигнутый та же цель в actionscript 3 с помощью copyPixels () и это довольно быстро.

2
ответ дан 08.12.2019, 05:12

Единственным путем я сделал, это - к расположению сетка с руководствами, затем нарежьте изображение с помощью инструмента части. Это должно позволить Вам повреждать изображение во многие отдельные части. После использования инструмента части можно Сохранить Для сети и экспортировать только части, каждый как отдельный файл изображений.

4
ответ дан 08.12.2019, 05:12

Это подобно вопросу, на который я ответил здесь: Я действительно рекомендовал бесплатный инструмент, который позволяет Вам делать это, Вы экспортируете png, загружаете png там и нажимаете кнопку....

Другие soutions были предложены, также.

Редактор изображений, который позволяет нескольким, отдельные, одновременные выборы обрезки быть сохраненными? (ищущий обе бесплатных и платных программы)

1
ответ дан 08.12.2019, 05:12

Теги

Похожие вопросы