
Copy link to clipboard
Copied
Hi everyone thanks for your time .
I need to make a very difficult task for me , i have a circle text , i need to create an action to rotate the circle text 1.8 degrees , save it and then rotate 1.8 degrees de previous saved image , this needs to be done 200 times , in a few words , rotate de image 1.8° save , rotate de previous saved 1.8° , rotate de previous saved 1.8° ,rotate de previous saved 1.8° ................. till it reach 200 rotations .
thank you very much .
1 Correct answer
You can also create text on a path perhaps convert it to a shape to stroke and fill it. Rotate that layer with a script I posted. The move the 200 layer out of the layer group the script put them in delete the layer group and background layer. Create a frame animation and make frames from the 200 layers. If tween does not work for you. I never tried tween and Transform rotation. Do not make the canvas size large this 800x800px gif is 4MB in size. I used the script I posted to create the 200 l
...Explore related tutorials & articles
Copy link to clipboard
Copied
360/1.8=200 so you want a full 360 rotation. The transform rotation point can be moved. This script should give you some food for thought it rotate about the bottom center of the layer bounds. 200 rotations will take some time.
// enable double-clicking from Mac Finder or Windows Explorer
#target photoshop // this command only works in Photoshop CS2 and higher
// bring application forward for double-click events
app.bringToFront();
// ensure at least one document open
if (!documents.length) alert('There are no documents open.', 'No Document');
else {
cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };
// Save the current preferences
var startRulerUnits = app.preferences.rulerUnits;
var startTypeUnits = app.preferences.typeUnits;
var startDisplayDialogs = app.displayDialogs;
// Set Photoshop to use pixels and display no dialogs
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;
main(); // at least one document exists proceed
// Return the app preferences
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;
}
function main() {
// Save selected layer to variable:
var originalStem = app.activeDocument.activeLayer;
// Ask user for input by showing prompt box and save inputted value to variable:
var stemsAmount = prompt ("Processing '" + originalStem.name + "'\nHow many stems do you need?\nFrom 2 to 360", 12);
// Check that user entered a valid number and, if invalid, show error message and ask for input again
while(isNaN(stemsAmount) || stemsAmount <= 1 || stemsAmount > 360){
// If user clicks "Cancel" button, then exit loop
if(stemsAmount == null) break;
// …and ask for input again
stemsAmount = prompt("Processing '" + originalStem.name + "'\nHow many stems do you need?\nFrom 2 to 360", 12);
};
// Run the copying process
app.togglePalettes();
if(stemsAmount != null){
// Calculate the rotation angle
var angle = 360 / parseInt(stemsAmount);
// Create a group for stems
var stemsGroup = app.activeDocument.layerSets.add();
stemsGroup.name = originalStem.name + " ("+stemsAmount+" stems)";
// Place original layer in group
originalStem.move(stemsGroup, ElementPlacement.INSIDE);
// Duplicate and rotate layers:
for(var i = 1; i < stemsAmount; i++){
// Duplicate original layer and save it to the variable
var newStem = originalStem.duplicate();
// Rotate new layer
//newStem.rotate(angle * i);
newStem.rotate(angle * i, AnchorPosition.BOTTOMCENTER);
// Add index to new layers
newStem.name = originalStem.name + " " + (i+1);
// Place new layer inside stems group
newStem.move(stemsGroup, ElementPlacement.PLACEATEND);
};
// Add index to the original layer
originalStem.name += " 1";
};
app.togglePalettes();
}

Copy link to clipboard
Copied
Thank you very much for your quick response I appreciate a lot you have spent your time to help me.
I'm sorry if I couldn't expressed clearly but what you kindly did is not what I need.
I need to create from only one image with a closed circle text, 200 different images but each of them has to be the previous one just rotated 1.8°, this is to create a gif animation with circle text moving circularly.
I continued investigating and if you could teach me the next procedure I will be able to reach the goal.
My idea is to record de action to rotate(I already know how to do it) , save the image rotated and here comes my trouble, I don't know how to increment the file name in the field save as, I mean I need other action to perform the file name increment.
I hope you could understand, thanks again friend for your help.
Copy link to clipboard
Copied
You want to make a frame animation. The 200 image part is easy. You use menu File>Scripts>Load Files into a Stack.... You Point is to a folder with 200 images that are the size.. Onec loaded into the stack use the timeline Palette to create a frame animation and use the frames Animation Fly-out menu items Make frames from layers. Select all the frames and set a frame duration for all the frame like a half second.
You now have your image animation. What need now is a second set of layer on top of these layers perhaps an other 200 layers for the rotating text.
You be able to have Photoshop generate these.
Create as second document with the same size canvas but transparent. Create the text layer and a frame animation. Rotate the text layer some number of degrees about the center of the the canvas and creat as second frame then use the fly-out menu tween item to create additional frames between the two frames you created. Rotate the text more create a frame and use tween again repeat again till you have a complete rotation and 200 frames.
At this point you have 1 layer and 200 frames. Save for web an animated gif of the rotating text. Next open the saved animated gif you just saved in Photoshop. The document you open should open with 200 layers the rotating text. Target all 200 layer and drag and drop them on the top 200 image document layers stack open in Photoshop with the shift key held down. You should now have the 400 layer you need. You need to add to second 200 layer into the 200 frames starting with the first frame add in one of of the upper text later repeat 199 more times for the rest of the frames.
Copy link to clipboard
Copied
You can also create text on a path perhaps convert it to a shape to stroke and fill it. Rotate that layer with a script I posted. The move the 200 layer out of the layer group the script put them in delete the layer group and background layer. Create a frame animation and make frames from the 200 layers. If tween does not work for you. I never tried tween and Transform rotation. Do not make the canvas size large this 800x800px gif is 4MB in size. I used the script I posted to create the 200 layers. Rendered out as am MP4 it was also 4MB rotated faster on a black background video does not support transparent backgrounds. So the video is white letters on a black background. You do not see the black stroke around the letters or any white ghosting that you see when you click the below animated gif and jive displays the gif in its pop-up image window. Also 200 frames in and gif animation is a lot of frames. If each frame is completely different image that a lot of unique pixels and most likely you will too many colors for making a good Gif animation. Gif only supports 256 mapped colors. If your frame size is 800x800px all told you will have 800x800x200px 128MP that something like 380MB in Photoshop. The smaller 600x600 animated gif here is BW and transparent still the gif file size is 5MB+

Copy link to clipboard
Copied
thank you very much friend , that was exactily what i was trying to accomplish .
Copy link to clipboard
Copied
Image here 54 frames 600x600 one image rotating text 2.5MB
Images here 54 frames 600x600px 54 image rotating text 8.7MB
Slow it down

