Como dividir um documento do Photoshop em uma grade?

0

Se eu tiver um documento do Photoshop contendo uma imagem, por exemplo. Como posso quebrá-lo em uma grade? Semelhante a fazer: - Selecione um retângulo - nova camada via corte - mover para o próximo retângulo verticalmente repetir?

Quaisquer scripts / plugins que automatizam / parametrizam isso?

    
por George Profenza 22.01.2010 / 17:42

3 respostas

1

Todas as respostas agradáveis, obrigado pela contribuição.

Como eu disse, gostaria de saber se havia algo para o Photoshop.

Para fins de documentação, aqui está um pequeno script que escrevi:

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;
}

Se você salvar isso no Photoshop / Presets / Scripts, poderá acessá-lo através de Scripts no menu Arquivo.

O problema com a abordagem JSX é, é um pouco lento para grandes subdivisões (100x100).

Eu estou supondo que será mais rápido tentar com a comunicação do MATLAB / Photoshop, mas vou pular isso por enquanto.

Atingiu o mesmo objetivo no actionscript 3 usando copyPixels () e é muito rápido.

    
por 31.05.2010 / 00:19
3

A única maneira de fazer isso é layout de uma grade com guias e, em seguida, fatia a imagem usando a ferramenta de fatia. Isso deve permitir que você divida a imagem em várias partes separadas. Depois de usar a ferramenta de fatia, é possível Salvar para a Web e exportar apenas as fatias, cada uma como um arquivo de imagem separado.

    
por 26.01.2010 / 15:47
1

É semelhante a uma pergunta que eu respondi aqui: Eu recomendei uma ferramenta gratuita que permite que você faça isso, você exporte o png, carregue o png lá e aperte o botão ....

Outras almas foram propostas também.

Imagem editor que permite que seleções de corte simultâneas, múltiplas e separadas sejam salvas? (procurando por programas gratuitos e pagos)

    
por 18.04.2010 / 22:12