|
Convenient web based access to our favorite web design Usenet groups
|
 |
This is Interesting: Free Magazines for Graphics designers and webmasters
| Author |
| Thread |
 |
|
|
|
|
|
 |
 |
|
|
|
  06-01-04 - 12:14 AM
|
I've been trying to take an image and produce 359 rotated versions of it (1
degree increments, of course). However, I just can't figure out how to
automate it. I managed to rotate one image 359 times and save it on top of
itself, but that wasn't so helpful.
I know that I could do it by rotating previous rotations if I kept at it,
but that's a really good way to mess up the image quality. What I really
need to do is rotate by 1 degree, save, rotate by 2 degrees, save, rotate by
3 degrees, etc.
Just to clarify, I should have 360 files at the end of the process
(including the original).
Any help is greatly appreciated!
Ewan
|
|
|
| [
Post Follow-Up to this message ]
|
|
|
|
|
 |
|
|
|
  06-01-04 - 12:14 AM
|
In article <PJJuc.51204$Np3.2222466@ursa-nb00s0.nbnet.nb.ca>, "Captain
Blammo" <eas6@nbnet.nb.ca> wrote:
> I've been trying to take an image and produce 359 rotated versions of it (
1
> degree increments, of course). However, I just can't figure out how to
> automate it. I managed to rotate one image 359 times and save it on top of
> itself, but that wasn't so helpful.
>
> I know that I could do it by rotating previous rotations if I kept at it,
> but that's a really good way to mess up the image quality. What I really
> need to do is rotate by 1 degree, save, rotate by 2 degrees, save, rotate
by
> 3 degrees, etc.
>
> Just to clarify, I should have 360 files at the end of the process
> (including the original).
Imageready comes with Photoshop. Try it. There should be an action called
"SPIN". It will create a new layer for each interation. Modify as
neccessary. (If you have CS you can save each layer as a separate file
rather than one big with 360 layers.)
|
|
|
| [
Post Follow-Up to this message ]
|
|
|
|
|
 |
|
|
|
  06-01-04 - 12:14 AM
|
In article <NALuc.51262$Np3.2224348@ursa-nb00s0.nbnet.nb.ca>, "Captain
Blammo" <eas6@nbnet.nb.ca> wrote:
> The "Spin" action seems to be what I'm after, apart from that it spins in
> the wrong direction, and the angular increments are too large. Also, I
> couldnt figure out how to save each layer as a file.
>
> Is there no way to use scripting of some sort to do this? I looked for way
s
> to use Photoshop's tools from the command line, but couldn't find anything.[/color
]
It's my day off so I'm not near my workstation so forgive if I'm not
perfectly accurate, but in ImageReady you can change that action to a
whatever increment you want, and in any direction you want. To do that,
just double-click on the action part named "Angle:" and type in the
degrees you want in MINUS degrees for counter-clockwise. For example,
instead of 20 type in -20.
Regarding the saving of layers, it's been covered here. I only got CS an
hour before I left work Friday so I can't swear that it does that (but I'd
bet a beer it does, possibly under an 'export' menu item), and regardless
you can download a trial of a program that does exactly that via
drag-n-drop here: http://www.metadma.com/LayerSplitter.html
Sometimes it's okay to drop the compulsion to program and to do with what
you have when the outcome is adequate. Or read the documentation. RTFM!
It took me longer to type the above than to cut the ImageReady adjustments
neccessary to do what you need to do. But for the program-compulsive, this
is the outcome. Use a text editing macro. Knock yourself out.
// Action file - Generated by Adobe ImageReady 2.0
// =========================================================================
==
{
action = new Action("Spin");
action.expanded = true;
action.runInBackground = false;
action.saveSource = false;
action.saveTarget = true;
action.targetLocation = tlSourceFolder;
action.dupFileNameBehavior = dfnAdd2Digits;
action.windowsFileNaming = true;
action.macFileNaming = true;
action.unixFileNaming = true;
action.displayImages = false;
action.pauseBeforeSave = false;
action.errorBehavior = dfnOverwriteConfirm;
action.version = 2;
step1 = new CopyLayerSet;
step1.enabled = true;
step1.doDialog = false;
step1.expanded = false;
action.AddStep(step1);
step2 = new LayerVisibility;
step2.enabled = true;
step2.doDialog = false;
step2.expanded = false;
step2.visible = false;
step2.toggleOthers = false;
action.AddStep(step2);
step3 = new DuplicateLayer;
step3.enabled = true;
step3.doDialog = false;
step3.expanded = false;
action.AddStep(step3);
step4 = new LayerVisibility;
step4.enabled = true;
step4.doDialog = false;
step4.expanded = false;
step4.visible = true;
step4.toggleOthers = false;
action.AddStep(step4);
step5 = new TransformLayer;
step5.enabled = true;
step5.doDialog = false;
step5.expanded = false;
step5.positionX = 0.000000;
step5.positionY = 0.000000;
step5.positionMode = ePositionRelative;
step5.percentage = 1.000000;
step5.horzSkew = 0.000000;
step5.vertSkew = 0.000000;
step5.rotation = 30.000000;
action.AddStep(step5);
step6 = new CopyLayerSet;
step6.enabled = true;
step6.doDialog = false;
step6.expanded = false;
action.AddStep(step6);
step7 = new LayerVisibility;
step7.enabled = true;
step7.doDialog = false;
step7.expanded = false;
step7.visible = false;
step7.toggleOthers = false;
action.AddStep(step7);
step8 = new SelectBackwardLayer;
step8.enabled = true;
step8.doDialog = false;
step8.expanded = false;
action.AddStep(step8);
step9 = new DuplicateLayer;
step9.enabled = true;
step9.doDialog = false;
step9.expanded = false;
action.AddStep(step9);
step10 = new LayerVisibility;
step10.enabled = true;
step10.doDialog = false;
step10.expanded = false;
step10.visible = true;
step10.toggleOthers = false;
action.AddStep(step10);
step11 = new TransformLayer;
step11.enabled = true;
step11.doDialog = false;
step11.expanded = true;
step11.positionX = 0.000000;
step11.positionY = 0.000000;
step11.positionMode = ePositionRelative;
step11.percentage = 1.000000;
step11.horzSkew = 0.000000;
step11.vertSkew = 0.000000;
step11.rotation = 60.000000;
action.AddStep(step11);
step12 = new CopyLayerSet;
step12.enabled = true;
step12.doDialog = false;
step12.expanded = false;
action.AddStep(step12);
step13 = new LayerVisibility;
step13.enabled = true;
step13.doDialog = false;
step13.expanded = false;
step13.visible = false;
step13.toggleOthers = false;
action.AddStep(step13);
step14 = new SelectBackwardLayer;
step14.enabled = true;
step14.doDialog = false;
step14.expanded = false;
action.AddStep(step14);
step15 = new DuplicateLayer;
step15.enabled = true;
step15.doDialog = false;
step15.expanded = false;
action.AddStep(step15);
step16 = new LayerVisibility;
step16.enabled = true;
step16.doDialog = false;
step16.expanded = false;
step16.visible = true;
step16.toggleOthers = false;
action.AddStep(step16);
step17 = new TransformLayer;
step17.enabled = true;
step17.doDialog = false;
step17.expanded = false;
step17.positionX = 0.000000;
step17.positionY = 0.000000;
step17.positionMode = ePositionRelative;
step17.percentage = 1.000000;
step17.horzSkew = 0.000000;
step17.vertSkew = 0.000000;
step17.rotation = 90.000000;
action.AddStep(step17);
step18 = new CopyLayerSet;
step18.enabled = true;
step18.doDialog = false;
step18.expanded = false;
action.AddStep(step18);
step19 = new LayerVisibility;
step19.enabled = true;
step19.doDialog = false;
step19.expanded = false;
step19.visible = false;
step19.toggleOthers = false;
action.AddStep(step19);
step20 = new SelectBackwardLayer;
step20.enabled = true;
step20.doDialog = false;
step20.expanded = false;
action.AddStep(step20);
step21 = new DuplicateLayer;
step21.enabled = true;
step21.doDialog = false;
step21.expanded = false;
action.AddStep(step21);
step22 = new LayerVisibility;
step22.enabled = true;
step22.doDialog = false;
step22.expanded = false;
step22.visible = true;
step22.toggleOthers = false;
action.AddStep(step22);
step23 = new TransformLayer;
step23.enabled = true;
step23.doDialog = false;
step23.expanded = false;
step23.positionX = 0.000000;
step23.positionY = 0.000000;
step23.positionMode = ePositionRelative;
step23.percentage = 1.000000;
step23.horzSkew = 0.000000;
step23.vertSkew = 0.000000;
step23.rotation = 120.000000;
action.AddStep(step23);
step24 = new CopyLayerSet;
step24.enabled = true;
step24.doDialog = false;
step24.expanded = false;
action.AddStep(step24);
step25 = new LayerVisibility;
step25.enabled = true;
step25.doDialog = false;
step25.expanded = false;
step25.visible = false;
step25.toggleOthers = false;
action.AddStep(step25);
step26 = new SelectBackwardLayer;
step26.enabled = true;
step26.doDialog = false;
step26.expanded = false;
action.AddStep(step26);
step27 = new DuplicateLayer;
step27.enabled = true;
step27.doDialog = false;
step27.expanded = false;
action.AddStep(step27);
step28 = new LayerVisibility;
step28.enabled = true;
step28.doDialog = false;
step28.expanded = false;
step28.visible = true;
step28.toggleOthers = false;
action.AddStep(step28);
step29 = new TransformLayer;
step29.enabled = true;
step29.doDialog = false;
step29.expanded = false;
step29.positionX = 0.000000;
step29.positionY = 0.000000;
step29.positionMode = ePositionRelative;
step29.percentage = 1.000000;
step29.horzSkew = 0.000000;
step29.vertSkew = 0.000000;
step29.rotation = 150.000000;
action.AddStep(step29);
step30 = new CopyLayerSet;
step30.enabled = true;
step30.doDialog = false;
step30.expanded = false;
action.AddStep(step30);
step31 = new LayerVisibility;
step31.enabled = true;
step31.doDialog = false;
step31.expanded = false;
step31.visible = false;
step31.toggleOthers = false;
action.AddStep(step31);
step32 = new SelectBackwardLayer;
step32.enabled = true;
step32.doDialog = false;
step32.expanded = false;
action.AddStep(step32);
step33 = new DuplicateLayer;
step33.enabled = true;
step33.doDialog = false;
step33.expanded = false;
action.AddStep(step33);
step34 = new LayerVisibility;
step34.enabled = true;
step34.doDialog = false;
step34.expanded = false;
step34.visible = true;
step34.toggleOthers = false;
action.AddStep(step34);
step35 = new TransformLayer;
step35.enabled = true;
step35.doDialog = false;
step35.expanded = false;
step35.positionX = 0.000000;
step35.positionY = 0.000000;
step35.positionMode = ePositionRelative;
step35.percentage = 1.000000;
step35.horzSkew = 0.000000;
step35.vertSkew = 0.000000;
step35.rotation = 180.000000;
action.AddStep(step35);
step36 = new CopyLayerSet;
step36.enabled = true;
step36.doDialog = false;
step36.expanded = false;
action.AddStep(step36);
step37 = new LayerVisibility;
step37.enabled = true;
step37.doDialog = false;
step37.expanded = false;
step37.visible = false;
step37.toggleOthers = false;
action.AddStep(step37);
step38 = new SelectBackwardLayer;
step38.enabled = true;
step38.doDialog = false;
step38.expanded = false;
action.AddStep(step38);
step39 = new DuplicateLayer;
step39.enabled = true;
step39.doDialog = false;
step39.expanded = false;
action.AddStep(step39);
step40 = new LayerVisibility;
step40.enabled = true;
step40.doDialog = false;
step40.expanded = false;
step40.visible = true;
step40.toggleOthers = false;
action.AddStep(step40);
step41 = new TransformLayer;
step41.enabled = true;
step41.doDialog = false;
step41.expanded = false;
step41.positionX = 0.000000;
step41.positionY = 0.000000;
step41.positionMode = ePositionRelative;
step41.percentage = 1.000000;
step41.horzSkew = 0.000000;
step41.vertSkew = 0.000000;
step41.rotation = 210.000000;
action.AddStep(step41);
step42 = new CopyLayerSet;
step42.enabled = true;
step42.doDialog = false;
step42.expanded = false;
action.AddStep(step42);
step43 = new LayerVisibility;
step43.enabled = true;
step43.doDialog = false;
step43.expanded = false;
step43.visible = false;
step43.toggleOthers = false;
action.AddStep(step43);
step44 = new SelectBackwardLayer;
step44.enabled = true;
step44.doDialog = false;
step44.expanded = false;
action.AddStep(step44);
step45 = new DuplicateLayer;
step45.enabled = true;
step45.doDialog = false;
step45.expanded = false;
action.AddStep(step45);
step46 = new LayerVisibility;
step46.enabled = true;
step46.doDialog = false;
step46.expanded = false;
step46.visible = true;
step46.toggleOthers = false;
action.AddStep(step46);
step47 = new TransformLayer;
step47.enabled = true;
step47.doDialog = false;
step47.expanded = false;
step47.positionX = 0.000000;
step47.positionY = 0.000000;
step47.positionMode = ePositionRelative;
step47.percentage = 1.000000;
step47.horzSkew = 0.000000;
step47.vertSkew = 0.000000;
step47.rotation = 240.000000;
action.AddStep(step47);
step48 = new CopyLayerSet;
step48.enabled = true;
step48.doDialog = false;
step48.expanded = false;
action.AddStep(step48);
step49 = new LayerVisibility;
step49.enabled = true;
step49.doDialog = false;
step49.expanded = false;
step49.visible = false;
step49.toggleOthers = false;
action.AddStep(step49);
step50 = new SelectBackwardLayer;
step50.enabled = true;
step50.doDialog = false;
step50.expanded = false;
action.AddStep(step50);
step51 = new DuplicateLayer;
step51.enabled = true;
step51.doDialog = false;
step51.expanded = false;
action.AddStep(step51);
step52 = new LayerVisibility;
step52.enabled = true;
step52.doDialog = false;
step52.expanded = false;
step52.visible = true;
step52.toggleOthers = false;
action.AddStep(step52);
step53 = new TransformLayer;
step53.enabled = true;
step53.doDialog = false;
step53.expanded = false;
step53.positionX = 0.000000;
step53.positionY = 0.000000;
step53.positionMode = ePositionRelative;
step53.percentage = 1.000000;
step53.horzSkew = 0.000000;
step53.vertSkew = 0.000000;
step53.rotation = 270.000000;
action.AddStep(step53);
step54 = new CopyLayerSet;
step54.enabled = true;
step54.doDialog = false;
step54.expanded = false;
action.AddStep(step54);
step55 = new LayerVisibility;
step55.enabled = true;
step55.doDialog = false;
step55.expanded = false;
step55.visible = false;
step55.toggleOthers = false;
action.AddStep(step55);
step56 = new SelectBackwardLayer;
step56.enabled = true;
step56.doDialog = false;
step56.expanded = false;
action.AddStep(step56);
step57 = new DuplicateLayer;
step57.enabled = true;
step57.doDialog = false;
step57.expanded = false;
action.AddStep(step57);
step58 = new LayerVisibility;
step58.enabled = true;
step58.doDialog = false;
step58.expanded = false;
step58.visible = true;
step58.toggleOthers = false;
action.AddStep(step58);
step59 = new TransformLayer;
step59.enabled = true;
step59.doDialog = false;
step59.expanded = false;
step59.positionX = 0.000000;
step59.positionY = 0.000000;
step59.positionMode = ePositionRelative;
step59.percentage = 1.000000;
step59.horzSkew = 0.000000;
step59.vertSkew = 0.000000;
step59.rotation = 300.000000;
action.AddStep(step59);
step60 = new CopyLayerSet;
step60.enabled = true;
step60.doDialog = false;
step60.expanded = false;
action.AddStep(step60);
step61 = new LayerVisibility;
step61.enabled = true;
step61.doDialog = false;
step61.expanded = false;
step61.visible = false;
step61.toggleOthers = false;
action.AddStep(step61);
step62 = new SelectBackwardLayer;
step62.enabled = true;
step62.doDialog = false;
step62.expanded = false;
action.AddStep(step62);
step63 = new DuplicateLayer;
step63.enabled = true;
step63.doDialog = false;
step63.expanded = false;
action.AddStep(step63);
step64 = new LayerVisibility;
step64.enabled = true;
step64.doDialog = false;
step64.expanded = false;
step64.visible = true;
step64.toggleOthers = false;
action.AddStep(step64);
step65 = new TransformLayer;
step65.enabled = true;
step65.doDialog = false;
step65.expanded = false;
step65.positionX = 0.000000;
step65.positionY = 0.000000;
step65.positionMode = ePositionRelative;
step65.percentage = 1.000000;
step65.horzSkew = 0.000000;
step65.vertSkew = 0.000000;
step65.rotation = 330.000000;
action.AddStep(step65);
step66 = new GoToNextFrame;
step66.enabled = true;
step66.doDialog = false;
step66.expanded = false;
action.AddStep(step66);
|
|
|
| [
Post Follow-Up to this message ]
|
|
|
|
|
 |
|
|
|
  06-01-04 - 04:14 AM
|
> Is there no way to use scripting of some sort to do this? I looked for
> ways to use Photoshop's tools from the command line, but couldn't find
> anything.
>
> Something like this would do the job in an incredibly simple fashion:
>
> for(count=1; count<360; count=count+1)
> {
> open(picname.psd);
> rotate(count);
> save(picname + count +, GIF);
> close(picname.psd);
> }
>
> Is there nothing of the sort available? It seems like an awful waste of
> time to record an action with me rotating a picture 360 times and saving
> it.
It may be sacriliedge in this newsgroup, but sometimes Photoshop isn't the
best tool for image manipulation. <Gasps, then the house falls silent...>
Hey, it's a rare occurence, but it happens!
For scripting jobs, which this clearly is, it's often simpler to use a
scripting language with tools which are designed to be used from script. If
you have Imagemagick on your system (http://www.imagemagick.org/) you can
use its excellent 'mogrify' command to do this from Python:
#!/usr/bin/python
from shutil import copy
from os import system
for deg in range(1,360):
srcfile = "camp.jpg"
destfile = "camp_%03d.jpg" % deg
copy( srcfile, destfile )
system( "mogrify -rotate %d %s" % (deg, destfile) )
Given a file called camp.jpg (which I happen to have on my system) that does
exactly what you want. Imagemagick and Python (Perl, Tcl, Java, whatever)
run on Win32, Mac9/X and UNIX. This script was tested on Linux, but it'll
probably work unchanged on Win32 or Mac.
|
|
|
| [
Post Follow-Up to this message ]
|
|
|
|
|
 |
|
|
|
  06-02-04 - 12:14 AM
|
> Regarding the saving of layers, it's been covered here. I only got CS an
> hour before I left work Friday so I can't swear that it does that (but I'd
> bet a beer it does, possibly under an 'export' menu item), and regardless
> you can download a trial of a program that does exactly that via
> drag-n-drop here: http://www.metadma.com/LayerSplitter.html
Sorry, I should have mentioned that I'm using photoshop 7.0, not CS. It
won't even run on win98 :-)
> Sometimes it's okay to drop the compulsion to program and to do with what
> you have when the outcome is adequate. Or read the documentation. RTFM!
If I had the compulsion to program, I would've been using scripting from the
beginning, it's just that the program didn't do what I wanted it to. Trust
me, I R'd T F'ing M, and couldn't find anything helpful at all. After
wasting enough time on a task, one naturally turns to other solutions.
I tried changing values for the action, but all I could find was a series of
rotations that I would have had to change individually, not to mention
adding more of them. There was no "angle" setting. In any case, thank you
for pointing out that such a thing as an action file actually exists,
because they didn't seem to be mentioned in the help file.
I note that the action files for Photoshop can't be read as text, unlike the
Imageready ones. What do I need to view/edit them?
Thanks for the help.
Ewan
|
|
|
| [
Post Follow-Up to this message ]
|
|
|
|
|
 |
| All times are GMT. The time now is 04:10 AM. |
 |
|
|
|
|
|  |
|