Hi,
Good Morning.
I wanted to slice one image to tiles and i got a script for it. I did not had a photoshop so I got Photoshop CS2 Version 9.0. This script was working fine but it says error over a copy command.
// We make sure our source image is the active document
var srcDoc = activeDocument;
//Select Area and Copy
srcDoc.selection.select(Array (Array(MyXO, MyYO), Array(MyXL, MyYO), Array(MyXL, MyYL), Array(MyXO, MyYL)), SelectionType.REPLACE, 0, false);
srcDoc.selection.copy();
//Paste to new Doc
var pasteDoc = documents.add(PixelWidth, PixelHeight, srcDoc.resolution, "Paste Target");
pasteDoc.paste();
pasteDoc = null;
//Save New Doc
var saveMe = activeDocument;
The error shown is
Error 8800: General Photoshop error occurred.The command copy is not currently available.LIne 69 -> srcDoc.Selection.Copy();
What is the replacment command that i could use for it or what is the command that i could use over any versions....
I could not find the Scripts menu option below automate where i could browse to this script and get the slicing in version 7. I could gind the scripts option ibelow Automate in files menu in Version 9 though but this says this error.
I hope here to have photoshop experts who could help me out.
regards
Harish
Observation: before showing the above pop-up error -> it makes the first 7 slice as set in the variables.
/*********
//**** YOU SHOULD CUSTOMIZE THE FOLLOWING VARIABLE DEPENDING ON YOUR NEED ****
var ZoomLevel = 2;
var FolderPath = "/Documents and Settings/harish/Desktop/images/Zoom"+ZoomLevel+"slices/";
// We start with the coordinates, zoom, and width of an upper left corner tile and generate everything from there
// We can calculate new tile values from these values for any zoom level without having to look up these details for each.
var OrgX = 1204; //<-- the X value
var OrgY = 1536; //<-- the Y value
var OrgZoomLevel = 5; //<-- the zoom level
var OrgTileWidth = 7; //<-- the number of tiles wide your full map area is
var OrgTileHeight = 7; //<-- the number of tiles high your full map area is
//**** EVERYTHING BEYOND HERE SHOULD NOT BE TOUCHED UNLESS YOU KNOW WHAT YOU ARE DOING!!!
// Exponent Function
// we will need this later
function PowMe(a, b){
var o = a;
for (n=1; n<b; n++){ o *= a; }
if (b==0){ o = 1; }
return o;
};
var StartX = OrgX*PowMe(2,(OrgZoomLevel - ZoomLevel));
var StartY = OrgY*PowMe(2,(OrgZoomLevel - ZoomLevel));
var xTiles = OrgTileWidth*PowMe(2,(OrgZoomLevel - ZoomLevel));
var yTiles = OrgTileHeight*PowMe(2,(OrgZoomLevel - ZoomLevel));
var PixelWidth = 256;
var PixelHeight = 256;
var TotalTiles = xTiles * yTiles;
preferences.rulerUnits = Units.PIXELS;
var xm = 0;
var ym = 0;
var TileX = StartX;
var TileY = StartY;
for (n=1; n<TotalTiles+1; n++) {
if (ym == yTiles){
xm += 1; //<-- Up the x value by 1, i.e. we move over to the next column
ym = 0; //<-- Reset the y value to 0 so we start back at the top of our new column
TileX += 1; //<-- Increase our Google X value for our file name
TileY = StartY; //We reset out Google Y value for out file name everytime we change columns
};
MyXO = xm*(PixelWidth);
MyXL = xm*(PixelWidth)+(PixelWidth);
MyYO = ym*(PixelHeight);
MyYL = ym*(PixelHeight)+(PixelHeight);
// We make sure our source image is the active document
var srcDoc = activeDocument;
//Select Area and Copy
srcDoc.selection.select(Array (Array(MyXO, MyYO), Array(MyXL, MyYO), Array(MyXL, MyYL), Array(MyXO, MyYL)), SelectionType.REPLACE, 0, false);
srcDoc.selection.copy();
//Paste to new Doc
var pasteDoc = documents.add(PixelWidth, PixelHeight, srcDoc.resolution, "Paste Target");
pasteDoc.paste();
pasteDoc = null;
//Save New Doc
var saveMe = activeDocument;
//Flatten
saveMe.flatten();
//Set path to file and file name
saveFile = new File(FolderPath + TileX+ "_" + TileY+ "_" + ZoomLevel + ".gif");
//Set save options
gifSaveOptions = new GIFSaveOptions();
gifSaveOptions.colors = 64;
gifSaveOptions.dither = Dither.NONE;
gifSaveOptions.matte = MatteType.NONE;
gifSaveOptions.preserveExactColors = 0;
gifSaveOptions.transparency = 0;
gifSaveOptions.interlaced = 0;
//Save the file and close it
saveMe.saveAs(saveFile, gifSaveOptions, true,Extension.LOWERCASE);
saveMe.close(SaveOptions.DONOTSAVECHANGES);
//Advance Y counter for next image
ym += 1;
//Advance Google Y value for next image name
TileY += 1;
}
/*****************