Using ruby with photoshop - p objectroblem using the SaveAs


I have been trying to get a COM connection to work from ruby to

Everything works fine until I try and save my image, I cant get the
syntax for the SaveAs function to work. I’ve tried reference both the
JavaScript and VB guides for clues but cant get any thing to work

Here is what I’m using at the moment, cant find anything on the net
with ruby and photoshop, so I was wondering if any one out there might
got it working that is the SaveAs object

require ‘win32ole’

cs =“Photoshop.Application”)

jpgopt =“Photoshop.JPEGSaveOptions”)

jpgopt.Quality = 12

jpgopt.FormatOptions = 3

jpgopt.Matte= 1

jpgopt.Scans = 5

cs.DisplayDialogs = 3 # No dialog when open the raw file.

textColor = cs.ForegroundColor

textColor.RGB.Red = 255

textColor.RGB.Green = 0

textColor.RGB.Blue = 0

docRef = cs.Documents.Add(300, 200, 72,“My New Document”);

newTextLayer = docRef.ArtLayers.Add();

newTextLayer.Kind = 2;

newTextLayer.TextItem.Contents = “Hello, World!”;

newTextLayer.TextItem.Position = [100, 100];

newTextLayer.TextItem.Size = 16;

newTextLayer.TextItem.Color = textColor;

saveme = ActiveDocument

saveme.SaveAs(‘C:/cells2.jpg’, jpgopt, true, Extension.LOWERCASE);



On 10/29/06, Martin S. [email protected] wrote:

saveme = ActiveDocument

That should be:
saveme = cs.ActiveDocument

saveme.SaveAs(‘C:/cells2.jpg’, jpgopt, true, Extension.LOWERCASE);

I don’t know about Extension here, it gave me an error, so I just
removed that last part, and it seemed to work:

saveme.SaveAs(‘C:/cells2.jpg’, jpgopt, true);


What verisons are you using, I’m still getting an illegal argument -
argument 1
Required values is missing

On 10/30/06, Martin S. [email protected] wrote:

What verisons are you using, I’m still getting an illegal argument -
argument 1
Required values is missing

WinXP Pro SP2, Photoshop CS (8.0). Works here! :}

Have you seen this?

On page 50 they have examples of SaveAs (in VBS and JS). It looks
like the last value you were passing (Extension.LOWERCASE) would be an
int (2 == for lowercase).



This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs