Photoshop Adjustments med Applescript

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1

Hej,
har precis gett mig in i den fantastiska Applescript-världen. Verkar vara ett både kraftfullt och lättanvänt språk som går att använda till en hel massa större och mindre uppgifter. Jag har gett mig på att göra en rad Photoshopkommandon på alla bilder i en mapp, och det mesta har gått smärtfritt, men nu har jag stött på patrull.

Det gäller att köra kommandon från Image>Adjustmentsmenyn. Scriptet ser ut som följer:

set processFolder to choose folder with prompt "Choose a Folder"
set targetFolder to (processFolder & "small" as string)
tell application "Finder"
    if not (exists folder targetFolder) then
        make new folder at processFolder with properties {name:"small"}
        set targetFolder to the result as alias
    else
        set targetFolder to item targetFolder as alias
    end if
end tell
set listImages to list folder processFolder without invisibles
set noImages to ((length of listImages) - 1)
repeat with i from 1 to noImages
    set thisimage to item i of listImages
    set imageFilePath to (processFolder & thisimage as string)
    set imageNo to i as string
    if (i < 10) then
        set imageNo to ("00" & imageNo)
    else if (i < 100) then
        set imageNo to ("0" & imageNo)
    end if
        set newImageFilePath to (targetFolder & "Image" & imageNo & "_small.jpg" as string)

    tell application "Adobe Photoshop CS2"
        open file imageFilePath

        set ruler units of settings to pixel units
        set newWidth to (width of current document) / 3
        set newHeight to (height of current document) / 3
        resize image of current document width newWidth height newHeight

        -- HÄR KNASAR DET:
        adjust current layer of the current document using automatic levels adjustment with options {class:automatic levels}

        save current document in newImageFilePath as JPEG with options {format options:standard}
        close current document
    end tell
end repeat

Man väljer alltså en mapp, scriptet tar alla bilder där i och skalar ner till en tredjedels storlek, kör "Auto Levels" och sparar samt stänger dem. Allt fungerar utom just "Auto Levels" som jag tagit rakt från Adobes Reference Guide. Jag får felmeddelandet "AppleScript Error: The variable adjustment not defined".

Måste man inkludera något för att kunna använda fördefinerade klasser? Hittar inget sådant i andra exempel, men det står i nämnda pdf "NOTE: The class must be a class that inherits from adjustment options"...

Någon som har koll?

  • Medlem
  • Stockholm
  • 2008-03-28 14:32

Kan inte påstå att jag har koll - men en sak som slår mig som möjligen ologisk i kommandosträngen är hur den anropar dels en automatisk åtgärd, dels en åtgärd med "options", men utan att specificera en vald 'option'. Kan detta vara felkällan?

Du var faktiskt lösningen på spåret. Jag tog mitt exempel direkt från Adobes guide, men när jag tittade i en klasslista insåg jag att syntax var:

adjust current layer of the current document using automatic levels

dvs utan "adjustment" och utan några options.

Tack för hjälpen.

1
Bevaka tråden