• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Slicing a very image (24k px x 34k px) into smaller crops

New Here ,
Aug 24, 2017 Aug 24, 2017

Copy link to clipboard

Copied

I need to slices a very large piece of artwork into 117 smaller crops to then reassemble as an art installation.

 

I thought I could use the slice tool to cut the artwork into several smaller exports but there doesn't seem to be an option, maybe because its a .PSB large format file

 

I need to be able to export as a print ready file

 

Any ideas?

TOPICS
Actions and scripting

Views

4.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Community Expert ,
Aug 24, 2017 Aug 24, 2017

Copy link to clipboard

Copied

Any ideas?

Scripting. But please provide an exact and specific explanations including the pixel dimensions, overlap needs, …

Photoshop Scripting

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 25, 2017 Aug 25, 2017

Copy link to clipboard

Copied

It's 2376mm x 2886mm at 300dpi. Needs to be split into (117) 264mm x 222mm print ready JPGs. I currently have it in PSB format

There is no need for overlap for bleed, they're being mounted together but not edge to edge so I'm happy to sacrifice the bleed. The individual mounts are set to different angles so edges wont meet.

This is a 3d mock of the final piece

wall mock.jpg

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2017 Aug 25, 2017

Copy link to clipboard

Copied

How many rows and lines?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2017 Aug 25, 2017

Copy link to clipboard

Copied

Hello, how do you intend to print? Some printers can tile automatically a large image on several pages...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2017 Aug 25, 2017

Copy link to clipboard

Copied

The sample below consists of 99 (9x11) squares but a 9x13 grid (total 117) in your dimensions would handled in a similar fashion:

Guides dragged out from the top and side rulers. View > Snap to Guides. Rectangular Marquee tool. Separate layer for each fragment,

The sample below shows some of the images in the grid. Added the final image, with the original image ghosted, for clarity.

comp.jpg

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 26, 2017 Aug 26, 2017

Copy link to clipboard

Copied

// split image into x times y segments and save them as jpgs;

// 2017, use it at your own risk;

#target photoshop

if (app.documents.length > 0) {

var originalUnits = app.preferences.rulerUnits;

app.preferences.rulerUnits = Units.PIXELS;

// document;

var myDocument = app.activeDocument;

var theName= myDocument.name.match(/(.*)\.[^\.]+$/)[1];

var thePath = myDocument.path;

var theCopy = myDocument.duplicate("copy", true);

// the numbers;

var theX = 9;

var theY = 13;

var xFrac = myDocument.width/theX;

var yFrac = myDocument.height/theY;

// psd options;

psdOpts = new PhotoshopSaveOptions();

psdOpts.embedColorProfile = true;

psdOpts.alphaChannels = true;

psdOpts.layers = true;

psdOpts.spotColors = true;

// jpg options;

var jpegOptions = new JPEGSaveOptions();

jpegOptions.quality = 9;

jpegOptions.embedColorProfile = true;

jpegOptions.matte = MatteType.NONE;

// create folder;

var folderName = thePath+"/"+theName+"_"+theX+"x"+theY;

if (Folder(folderName).exists == false) {Folder(folderName).create()};

//save jpgs;

for (var n = 1; n <= theY; n++) {

for (var m = 1; m <= theX; m++) {

cropTo((m-1)*xFrac, (n-1)*yFrac, m*xFrac, n*yFrac);

var theNewName = theName+"_"+bufferNumberWithZeros(m, 3)+"_"+bufferNumberWithZeros(n, 3);

theCopy.saveAs((new File(folderName+"/"+"_"+theNewName+".jpg")),jpegOptions,true);

theCopy.activeHistoryState = theCopy.historyStates[0];

//executeAction( charIDToTypeID("undo"), undefined, DialogModes.NO );

}

};

theCopy.close(SaveOptions.DONOTSAVECHANGES);

// reset;

app.preferences.rulerUnits = originalUnits;

};

////// buffer number with zeros //////

function bufferNumberWithZeros (number, places) {

var theNumberString = String(number);

for (var o = 0; o < (places - String(number).length); o++) {

theNumberString = String("0" + theNumberString)

};

return theNumberString

};

////// crop //////

function cropTo (x1, y1, x2, y2) {

// =======================================================

    var desc7 = new ActionDescriptor();

        var desc8 = new ActionDescriptor();

        var idPxl = charIDToTypeID( "#Pxl" );

        desc8.putUnitDouble( charIDToTypeID( "Top " ), idPxl, y1 );

        desc8.putUnitDouble( charIDToTypeID( "Left" ), idPxl, x1);

        desc8.putUnitDouble( charIDToTypeID( "Btom" ), idPxl, y2 );

        desc8.putUnitDouble( charIDToTypeID( "Rght" ), idPxl, x2 );

    var idRctn = charIDToTypeID( "Rctn" );

    desc7.putObject( charIDToTypeID( "T   " ), idRctn, desc8 );

    desc7.putUnitDouble( charIDToTypeID( "Angl" ), charIDToTypeID( "#Ang" ), 0.000000 );

    desc7.putBoolean( charIDToTypeID( "Dlt " ), false );

    desc7.putEnumerated( stringIDToTypeID( "cropAspectRatioModeKey" ), stringIDToTypeID( "cropAspectRatioModeClass" ), stringIDToTypeID( "pureAspectRatio" ) );

    desc7.putBoolean( charIDToTypeID( "CnsP" ), false );

executeAction( charIDToTypeID( "Crop" ), desc7, DialogModes.NO );

};

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Apr 12, 2020 Apr 12, 2020

Copy link to clipboard

Copied

Modertator, add Actions and Scripting label to this thread.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Apr 12, 2020 Apr 12, 2020

Copy link to clipboard

Copied

LATEST

"Moderator, add Actions and Scripting label to this thread."

Done 🙂

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines