Layer functions

Do the Layer functions work in the trial version?

I'm working on a HDR lesson and have followed the instructions to add a photo from Photomatrix and a same photo from a raw file to process in Photoshop CC.
i used Adobe bridge to import them as layers into Photoshop CC.
i then added a layer mask to brush some features of one photo to the other.  i selected the brush tool and started brushing, with not effect.
i just stumbled on to something, however, when i started playing with the bruch properties.  not sure what i did, but the brushing is now working.

Similar Messages

  • Am working with trial version of photoshop elements 12. Layer functions remain grayed out when trying to use.

    I'm working with trial version of Photoshop Elements 12. Layer functions remain grayed out when trying to use them.

    You need to have an image open in the main window.

  • ECL/EAI Viewer using Layer function

    We are using for TIF files the Layer function for mark up issues. Is there a possibility to send out a TIF file including the layer with the dodocument distribution.

    Hi,
    Teamcenter Visualization (R) Convert 2005 SR1 MP3 (070305) for Windows
    Copyright 2005 UGS Corp
    prepare - Error: License checking has failed, please contact customer support for assistance.
    Above error is pertaining to non-SAP s/w Teamcenter Visualization. Teamcenter is an integrated suite of Product Lifecycle Management applications originally created by EDS PLM Solutions, a company which ultimately became Siemens PLM Software.
    Teamcenter Visualization) gives the ability to view CAD data in a CAD neutral format
    Please check whether you have proper license for Teamcenter installed on your desktop.
    Hope this is useful.
    Regards,
    Deepak Kori

  • Photoshop layer function not working

    Hi,
    I am using the trial version and i wanted to ask is it fully functional? Or are functions like creating a new layer or image adjustments disabled??
    I would really appreciate an answer and/or some troubleshooting
    Thanks

    Moving the discussion in Photoshop forum

  • How do I use the "double-layer" function with my iMac?

    Hi,
    Just wondering who can help me. I want to burn a dvd using the double-layer feature. The thing is I don't know if my iMac comes with that application preinstalled. I don't even know if I need an application and which one. The only thing I have for the moment is the "LightScribe DVD+R".
    Thank you

    "Double-layer" is a property of the media (the disk itself). There are no options in software necessary to support writing to it, it just uses the second layer if the data won't fit on a single-layer and the disk in the drive has a second-layer.
    As far as software is concerned, there's no notion of "layers" on the disk. The software simply sees the disk as 4.5G (a regular DVD+R) or 9G (DVD+R DL). Handling of writing multiple layers is handled by the drive itself.
    You'll note that you can't treat single-layer discs as double-layered ones. The drive can tell what sort of disk was inserted.

  • 'Cut to new layer' function for pixel selection.

    hey guys. This is a pretty minor feature, but it might be handy.
    The feature would be a single comand that could remove pixels from one layer and paste them into a new layer.
    CTL-X technically does this, but since CTL-X clears the selection, the paste has no guide in order paste the pixels into the same location.
    CTL-C, DEL, CTL-V , has the effect of cutting pixels from one layer into a new layer while preserving the selection, but it would be nice to have as a single command.
    The obvious shoice would be CTL-SHIFT-X, but that's liquify, and I like it there.
    So, I propose ALT-SHIFT-X. I know that the alt-shift combination is never ever used, but honestly, it's not a really importnant feature either
    Thanks for reading.

    Already there - control J (new layer via copy) and control Shift J (new layer via cut) - which is exactly what you have asked for. To redload the selection you can simply control click the new layer - mostly you WOULDN'T want to do this, since it just gets in the way. You could reassign them if you wanted.
    Do you seriously think that photoshop version 11- wouldn't have this shortcut by now? These ones were there back in 4 or 5 at least

  • Select layer function in actions

    I have three layers with text in different languages. I want to save them to three different PNG files.
    I've tried to do action which select the layer, hide it and save it. Then select another layer and do the same. But selecting layers is not recorded to the action.
    Is there any solution?
    lot of thanks

    Cooker, tell a bit more about how you save your .png files.
    In case you're talking about saving them through the Save for Web dialog, then you have a built-in method to save main layers as individual files. Look for 'Save CSS Layers' or something similar in the Save for Web dialog.
    If you're talking about exporting the .png files through the Export dialog, then you can go other routes, for example a script or a slightly modified action.

  • How can I have text from multiple fields on one layer, copy to one field on another layer?

    A little help please as it's been years since I've done any coding of any sort.
    So I have a 4 page document with various field types.  I have a document script that gets "TodaysDate" that works perfectly and a few other scripts as well.
    So what I'm trying to do is find a work around for the following:
    I have 3 fields - SURNAME, FIRSTNAME & dob.
    And I want what is typed into these fields to populate into 1 field.  And according to this tutorial (http://acrobatusers.com/tutorials/how-save-pdf-acrobat-javascript) it's not exactly possible.  At least I think that's what it says.
    However I'm hoping that maybe I could have a Submit button at the end of that document that when clicked would copy the text from those 3 fields (that I would have on 1 layer) into 1 field on a 2nd layer.  Is that even possible??
    I'd also like to have the document Print, Save (using the text in the field on the 2nd layer as the file name), Email (using the text in the field on the 2nd layer as the subject line) and Export to a specific Excel spreadsheet. 
    I don't want much do I?
    I'm using Acrobat 9 Pro on a Windows PC but also have access to Acrobat 8 Professional.  And I'm going to want the form to run in Acrobat Reader X.
    So far I have for the 3 fields into 1 on another layer:
    function buttonClick(){
    if(buttonClick==false)
    event.value=this.getField("SURNAME"+"-"+"FIRSTNAME"+"-"+"dob").valueAsString;
    But I have no idea how to call the event.value from 1 layer to another or if any of that code above would even work at all.
    I have a script that I believe will work perfectly for the Save and Email function:
    Using the “doc.submitForm()” function
    // This is the form return e-mail. Its hardcoded
    // so that the form is always returned to the same address
    // Change address on your form
    var cToAddr = "[email protected]";
    // First, get the client CC e-mail address
    var cCCAddr = this.getField("ClientEmail").value;
    // Now get the beneficiary e-mail only if it is filled out
    var cBenAddr = this.getField("BennyEmail").value;
    if(cBenAddr != "") cCCAddr += ";" + cBenAddr;
    // Set the subject and body text for the e-mail message
    var cSubLine = "Form X-1 returned from client"; var cBody = "Thank you for submitting your form.\n" + "Save the mail attachment for your own records";
    //** Send the form data as an XML attachment on an e-mail
    // Build the e-mail URL
    var cEmailURL = "mailto:[email protected]?cc=" + cCCAddr + "&subject=" + cSubLine + "&body=" + cBody;
    this.submitForm({
                cURL: cEmailURL,
                cSubmitAs:"XML",
                cCharSet:"utf-8"
    I'll work out the Export to Excel thing later as I've seen many tutorials on that.  But can I do the 3 fields to 1 thing at all?
    Please Help!!!

    Sorry Gilad.  I hope I'm not getting on your nerves (too much) but as I said it's been a while since I did any formal code. And I'm trying to do this code for a work document but I'm doing it in amongst so many other things I do for my job that it's difficult to get the time to concentrate for longer than 5 mins.
    I didn't get a chance to try that code until just now.  I guess I asked again as I thought (from what I'd read) that it wouldn't be that simple.
    So I've added that code and I get no errors.  But it doesn't appear to be doing anything either.  I've added the code like this in the Custom calculation script of a separate field I've called FileName.  And on the Button i'm using I've added:  buttonClick()
    function buttonClick(){
    if(buttonClick==false)
              event.value=this.getField("SURNAME").valueAsString + "-" + this.getField("FIRSTNAME").valueAsString + "-" + this.getField("dob").valueAsString;
    So now I'm guessing that becasue i'm not getting an error or a result that I've screwed it up still.  Have I put the code in the correct area?  Have I assigned a the buttonClick() function correctly?

  • Setting values of an Hue/Sat adjustment layer.

    Hi everyone!
    I'm sorry to but I desperatly search a function for photoshop CS5 that changes values of an HUE/Saturation adjustment layer.
    I searched several times on internet but couldn't find.
    I also tried with the scriptlistener but when I'm changing values of the adjustment layer, nothing writes in the logs.
    Could someone else please ? Thanks in advance.

    Does this help?
    #target photoshop
    setHueSatForLuminance ([0, 60, 0], [9, -30, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]);
    // hue/sat-layer function;
    function setHueSatForLuminance (master, red, yellow, green, blue, cyan, magenta) {
    // =======================================================
    var idMk = charIDToTypeID( "Mk  " );
        var desc43 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref8 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            ref8.putClass( idAdjL );
        desc43.putReference( idnull, ref8 );
        var idUsng = charIDToTypeID( "Usng" );
            var desc44 = new ActionDescriptor();
            var idType = charIDToTypeID( "Type" );
                var desc45 = new ActionDescriptor();
                var idpresetKind = stringIDToTypeID( "presetKind" );
                var idpresetKindType = stringIDToTypeID( "presetKindType" );
                var idpresetKindDefault = stringIDToTypeID( "presetKindDefault" );
                desc45.putEnumerated( idpresetKind, idpresetKindType, idpresetKindDefault );
                var idClrz = charIDToTypeID( "Clrz" );
                desc45.putBoolean( idClrz, false );
            var idHStr = charIDToTypeID( "HStr" );
            desc44.putObject( idType, idHStr, desc45 );
        var idAdjL = charIDToTypeID( "AdjL" );
        desc43.putObject( idUsng, idAdjL, desc44 );
    executeAction( idMk, desc43, DialogModes.NO );
    // =======================================================
    var idsetd = charIDToTypeID( "setd" );
        var desc46 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref9 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            var idOrdn = charIDToTypeID( "Ordn" );
            var idTrgt = charIDToTypeID( "Trgt" );
            ref9.putEnumerated( idAdjL, idOrdn, idTrgt );
        desc46.putReference( idnull, ref9 );
        var idT = charIDToTypeID( "T   " );
            var desc47 = new ActionDescriptor();
            var idpresetKind = stringIDToTypeID( "presetKind" );
            var idpresetKindType = stringIDToTypeID( "presetKindType" );
            var idpresetKindCustom = stringIDToTypeID( "presetKindCustom" );
            desc47.putEnumerated( idpresetKind, idpresetKindType, idpresetKindCustom );
            var idAdjs = charIDToTypeID( "Adjs" );
                var list3 = new ActionList();
                    var desc12 = new ActionDescriptor();
                    var idH = charIDToTypeID( "H   " );
                    desc12.putInteger( idH, master[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc12.putInteger( idStrt, master[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc12.putInteger( idLght, master[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc12 );
                    var desc48 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc48.putInteger( idLclR, 1 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc48.putInteger( idBgnR, 315 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc48.putInteger( idBgnS, 345 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc48.putInteger( idEndS, 15 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc48.putInteger( idEndR, 45 );
                    var idH = charIDToTypeID( "H   " );
                    desc48.putInteger( idH, red[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc48.putInteger( idStrt, red[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc48.putInteger( idLght, red[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc48 );
                    var desc49 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc49.putInteger( idLclR, 2 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc49.putInteger( idBgnR, 15 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc49.putInteger( idBgnS, 45 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc49.putInteger( idEndS, 75 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc49.putInteger( idEndR, 105 );
                    var idH = charIDToTypeID( "H   " );
                    desc49.putInteger( idH, yellow[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc49.putInteger( idStrt, yellow[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc49.putInteger( idLght, yellow[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc49 );
                    var desc50 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc50.putInteger( idLclR, 3 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc50.putInteger( idBgnR, 75 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc50.putInteger( idBgnS, 105 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc50.putInteger( idEndS, 135 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc50.putInteger( idEndR, 165 );
                    var idH = charIDToTypeID( "H   " );
                    desc50.putInteger( idH, green[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc50.putInteger( idStrt, green[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc50.putInteger( idLght, green[1] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc50 );
                    var desc51 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc51.putInteger( idLclR, 4 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc51.putInteger( idBgnR, 135 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc51.putInteger( idBgnS, 165 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc51.putInteger( idEndS, 195 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc51.putInteger( idEndR, 225 );
                    var idH = charIDToTypeID( "H   " );
                    desc51.putInteger( idH, blue[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc51.putInteger( idStrt, blue[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc51.putInteger( idLght, blue[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc51 );
                    var desc52 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc52.putInteger( idLclR, 5 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc52.putInteger( idBgnR, 195 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc52.putInteger( idBgnS, 225 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc52.putInteger( idEndS, 255 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc52.putInteger( idEndR, 285 );
                    var idH = charIDToTypeID( "H   " );
                    desc52.putInteger( idH, cyan[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc52.putInteger( idStrt, cyan[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc52.putInteger( idLght, cyan[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc52 );
                    var desc53 = new ActionDescriptor();
                    var idLclR = charIDToTypeID( "LclR" );
                    desc53.putInteger( idLclR, 6 );
                    var idBgnR = charIDToTypeID( "BgnR" );
                    desc53.putInteger( idBgnR, 255 );
                    var idBgnS = charIDToTypeID( "BgnS" );
                    desc53.putInteger( idBgnS, 285 );
                    var idEndS = charIDToTypeID( "EndS" );
                    desc53.putInteger( idEndS, 315 );
                    var idEndR = charIDToTypeID( "EndR" );
                    desc53.putInteger( idEndR, 345 );
                    var idH = charIDToTypeID( "H   " );
                    desc53.putInteger( idH, magenta[0] );
                    var idStrt = charIDToTypeID( "Strt" );
                    desc53.putInteger( idStrt, magenta[1] );
                    var idLght = charIDToTypeID( "Lght" );
                    desc53.putInteger( idLght, magenta[2] );
                var idHsttwo = charIDToTypeID( "Hst2" );
                list3.putObject( idHsttwo, desc53 );
            desc47.putList( idAdjs, list3 );
        var idHStr = charIDToTypeID( "HStr" );
        desc46.putObject( idT, idHStr, desc47 );
    executeAction( idsetd, desc46, DialogModes.NO );

  • Photoshop CS6 Action Player Bug Make Adjustment Layer Applied to all to be Clipped

    On Oct.  11, 2010 I received the following from Adobe Support
    Hi John,
    This is to inform you that  we have been able to reproduce the same {Photoshop Actions} behavior at our end.
    So we have logged this issue with the Product Team and Engineering Team as Bug # 2737069. Adobe’s Engineering Team will look into this issue, and if in the future a resolution or fix is possible, it will be available from the Adobe Systems product update web site: http://www.adobe.com/downloads/updates/.
    You may also log this issue directly with our product teams, through the following Feature Request/Bug Form: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&samcap=EWQQL&promoid=EWQQL
    I am closing case # 181675168, if you have any new information, please contact Adobe Technical Support referencing the case number so that we may re-open the support incident.
    Thank you for choosing Adobe.
    Thanks and Regards,
    Rajdeep Kaur
    Technical Support Consultant (Tier 2)
    ADOBE Systems
    I reopened the case for there was no fix  Adobe contacted me and told me it would be fixed is some future release of Photoshop and once again case # 181675168 was closed over my objection.
    I was vocal about Adobe poor excuse for support in forums.   I then was contacted by Jeff Tranberry of Adobe he was asked to  contact me by John Nack to see if he could change me.  We exchanged some e-mails ending with Jeff writing unfortunately, you issues has been deemed low impact and has been deferred.
    May 7, 2012  I called Adobe to find out if this bug was fixed in Photoshop for I did not want to buy CS6 if the Bug was not fixed. After about an hour on the phone talking to many Adobe employees including Adobe Support  referenced case # 181675168 log as Bug # 2737069. I was told the bug was not in CS6.  So I ordered CS6.   FedX dropped off Today I installed it only to find the bug introduced is CS4 reported in CS5 is still in CS6.  
    Adobe when will you fix this bug # 2737069????

    Case History
    Case #0181636711 Assigned Bug # 2679265
    Updated
    Thursday, September 30, 2010 10:50:22 AM PDT
    Opened
    Thursday, June 10, 2010 8:21:19 PM PDT
    Status
    Withdrawn
    Product
    Photoshop CS5
    Support contract
    Adobe Support Program
    Subject
    CS5 Action Feature Bug
    NOTES & RESPONSES
    Notes from Customer
    Thursday, June 10, 2010 8:21:19 PM PDT
    CS5 has a bug recording and playing Actions that add Adjustments layers. Old actions recorded before CS5 and actions recorded with CS5 may or may not Play/Work correctly.
    Before there was an Adjustment Panel all Adjustment Layers were added applied to all layers and you needed to clip them after the were added if you wanted it clipped. The new adjustment panel made it possible to add a adjustment layer clipped to the current layer. However a clipping parameter is not recorded by the action recorder just the type and setting are recorded.
    When a make adjustment layer step is play it is either clipped or not depending on the state of the adjustment panel's clipping icon. If it not in the same state as it was when the action was recorded it will be add incorrectly. It would also be impossible to create an action that added some adjust layer clipped and others that are not.
    I feel the is a serious bug which needs to be addressed. I believe the solution is simple and even old actions will also work.
    Two patches are needed.
    One in the Action recorder. If the step being recorded is make adjustment layer and the adjustment panel icon state is clip to layer this needs to be recorded in the action step record. If the layer is to be applied nothing extra needs to be recorded in the step record just leave it as is like actions prior to the adjustment panel.
    The second patch in the Action Player.  If the step that is about to execute is a make adjustment layer. The Player needs to save away the state of the adjustment panel icon. Then check the adjustment step record to see if it is to be clipped. If so set the adjustment panel icon to the clipping state else set it to the all layers state. Then do/call the add adjustment layer function/routine on return restore the adjustment panels icon from the saved state. Proceed to the next step.
    I have been trying to report the bug for days. Please at least acknowledge you received my bug report.
    Thanks
    JJ
    Browser: Other
    Operating System: Windows XP
    Has it ever worked? If so, what's changed? (provide comments in description field): Not Applicable
    Same results with different file?: Not Applicable
    Same results with different computer?: Not Applicable
    Recent System Hardware or Software change?: Not Applicable
    Auto responsce from Abobe will close case unless we here from you
    Notes to Customer
    Friday, June 11, 2010 5:04:44 PM PDT
    Hi John,
    Thank you for contacting Adobe Technical Support. My name is Saurabh. This is in regards to your concern posted on Adobe web support portal
    regarding an issue with Adobe Photoshop CS5.
    I understand the importance of your time in getting the issue resolved and we assure you that this will be taken care of with utmost importance. We appreciate your cooperation with us.
    I would like to inform you that we are still researching on this issue. Once we find some new information, we will get back to you.
    I apologize fore the inconvenience caused.
    We are always happy to assist you however, in future if you face any problems with Adobe products, you may also try referring to our knowledge base & User to User forums by clicking on the following links:
    KnowledgeBase: http://www.adobe.com/cfusion/search/index.cfm
    User to User Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support and we appreciate your time spent.
    Have a nice day.
    PLEASE NOTE:We will be waiting for your reply on this case. In case you are unable to respond we will be sending you a reminder on the 2nd day (From the day of our response to you) and then the case will be auto closed on 7th day assuming your issue is resolved. However, you can reopen your case by visiting our web support portal and we will be happy to assist you further.
    Regards,
    Saurabh Jain
    Adobe Technical Support
    Notes from Customer
    Friday, June 11, 2010 6:01:35 PM PDT
    I consulted your knowledge base and I called customer support. This bug has not been listed. Custom support had me fill out a bug report at https://www.adobe.com/cfusion/mmform/index.cfm? name=wishform which I did but that was not even acknowledged. I demonstrated the bug to customer support by sharing my screen.
    As for you forums for some reason the forum web site states my Adobe ID is disabled so I can not append or start a thread there id screen name jjmack. I created a new Adobe ID yesterday [email protected] that to seems to be disabled or I can not come up with any screen name the is availably I have tried many. Every simple or outlandish name I have entered generates the same message screen name not available. I'm at my wits end I've been using Photoshop since Photoshop version 3. Over the years it seems to get harder and harder to communicate with Adobe....
    Notes to Customer
    Saturday, June 12, 2010 1:58:07 PM PDT
    Dear John,
    Thank you for getting back to us with the required information and we appreciate your patience in helping us to resolve your issue as soon as possible.
    As this issue would require support from a senior level and hence I am forwarding your case to the next level of support for extensive research and to find a resolution for the problem at hand. I'll get back to you once we receive a reply from the concerned department.
    Please note that the expected turnaround time for resolution to this case from next level of support is 5 business days. I apologize for any inconvenience caused.
    We are always happy to assist you however, in future if you face any technical problems with Adobe products, you may also try referring to our knowledge base & User to User forums by clicking on the following links:
    KnowledgeBase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support. Have a nice day.
    Regards,
    Saurabh Jain
    Adobe Technical Support
    Notes from Customer
    Tuesday, June 15, 2010 12:03:49 PM PDT
    simpler then I first thought. Upon more investigation this is what I see.
    I skipped CS4 and when I installed CS5 I discovered a nasty bug had been introduced is Photoshop's Action facility most likely in CS4.
    Action that add adjustment Layers clipped to the current layer that step is recorded Make adjustment layer with Clip.
    Action that add adjustment Layers not clipped Step records as Make adjustment layer.
    When a step Make adjustment layer with Clip is played back that is what Photoshop does.
    When a step Make adjustment layer is played back what Photoshop does is look at the adjustment panel clipping icon state and and if it is clip to current layer Photoshop does clip the adjustment layer to the current when is should be applied to all.
    Many of the actions I have created add adjustment layer applied to all then later clip them to the current layer. These actions generate an error message if the Adjustment panel clipping icon is set to clip. Because the layer get added clipped clipping it is not available. The strange thing is the layer is clipped the way I wanted it to be. But actions I recorded where I want the adjustment to apply to all are clipped and the is no error message just wrong results.
    Notes from Customer
    Thursday, June 17, 2010 1:00:02 PM PDT
    I was told 24 hours to fix my ID. I kept myself logon this machine.now I can not even logon.
    Notes from Customer
    Friday, June 18, 2010 1:31:42 PM PDT
    My user ID is now operational again after I requested an password e-mail so I could reset my password. When I received the e-mail I was able to set my accounts password and once again participate in Adobe's forums.
    The is still no change in the status of my bug report. I would like to be able to play actions and know the will work the way there were recorded.
    Notes from Customer
    Saturday, June 19, 2010 6:56:24 AM PDT
    Create a one step action that add an adjustment layer that applies to all layers.
    Play that action with the icon in the adjustment panel is set to apply to all layers. Change the status of that icon to clip to layer and play the action again.
    You will find the first adjustment layer was added correctly apply to all layers like it was recorded the second adjustment was added clipped to layer when it should be applied to all...
    Notes to Customer
    Thursday, July 1, 2010 9:53:35 AM PDT
    Dear John,
    Thank you for contacting Adobe Technical Support. My name is sauarbh. This is in regards to your concern posted on Adobe web support portal regarding an issue with Adobe Photoshop CS5.
    I understand the importance of your time in getting the issue resolved and we assure you that this will be taken care of with utmost importance. We appreciate your cooperation with us.
    As your issue demands a real time interaction, so we are arranging a call back for you.
    Please provide the below mentioned information so that our call back team can contact you to resolve your issue:-
      1. Your Preferred Day to attend the call
      2. Your Preferred Time to attend the call
      3. Your Time Zone
      4 Your Phone Number
    The callback team works from 10 AM to 7 PM PST.
    Kindly revert to us with the above stated information so that our call back team can contact you within 24-48 working hours.
    Please note :- Our Call Back team works Monday through Friday.
    The callback team works from 10 AM to 7 PM PST.
    Regards,
    Sauarbh Jain
    Adobe Technical Support
    Notes from Customer
    Thursday, July 1, 2010 10:10:44 AM PDT
    Please provide the below mentioned information so that our call back team can contact you to resolve your issue:-
    1. Your Preferred Day to attend the call
    Mon through Friday
    2. Your Preferred Time to attend the call
    1 PM to 10 PM any time
    3. Your Time Zone
    Eastern USA Time
    4 Your Phone Number
    845-xxx-xxxx
    Notes from Customer
    Friday, July 2, 2010 8:43:30 PM PDT
    July 2 Adobe support called me once again they share my display and I demonstrated the bug for a second time. This time the stated they were recording my demo. After I demonstrated the bug they put me on hold for a while. Upon returning they informed me that there was still no circumvention or fix for this problem. They wanted to know if I was at the latest software level they were still sharing my display so I did a Photoshop Help About Photoshop to show I had the latest update Photoshop version 12.0.1. Told me they were not capable of handling this problem and would have to refer this to senior technical support that they would determine if it was a bug. What a joke Adobe junior technical support can not even recognize a bug when it has been demonstrated to them on two occasions now and also received several case update from me. Adobe you need better support personal.
    Notes to Customer
    Thursday, August 5, 2010 2:39:56 PM PDT
    Hi John ,
    Thank you for getting back to us.
    I would like to apologize for the delay in providing you a faster resolution to your issue and appreciate your patience with us.
    I would like to inform you that your issue has been logged as bug so the workaround is obviously to make sure the clip to layer is not enabled prior to running any of these actions.Also my Product Team and Engineering Team are working on this issue you can use the work around as mentioned above.
    This should resolve your issue. If it does, please let us know, however in case it does not; please revert with any new information that you might want to add which will help us in resolving your issue.
    You can also try referring to our knowledge base and User to User forums by clicking on the following links:
    Knowledgebase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support and we appreciate your time spent.
    Have a nice day.
    PLEASE NOTE: we will be waiting for your reply on this case. In case you are unable to respond we will be sending you a reminder on the 2nd day (From the day of our response to you) and then the case will be auto closed on 7th day assuming your issue is resolved. However, you can reopen your case by visiting our web support portal and we will be happy to assist you further.
    Regards,
    Adobe Technical Support
    Notes from Customer
    Sunday, August 8, 2010 9:26:50 PM PDT
    Any work around does not solve my problem. Thousands have downloaded my actions. There is no way that I can contact them to make the aware of any work around. I can code around this bug but again I have no way to get the update to those that have downloaded my actions for they are free. All that is logged is the number of downloads. No registration is required so there is no way to contact the users that downloaded my actions. The problem will only be resolved when adobe updates Photoshop and fixes the problem.
    Notes to Customer
    Wednesday, August 11, 2010 1:58:23 PM PDT
    Hi John ,
    Thank you for getting back to us.
    I would like to apologize for the delay in providing you a faster resolution to your issue and appreciate your patience with us.
    I have logged this issue with my Product Team and Engineering Team as Bug #{2679265}. Adobe’s Engineering Team will look into this issue, and if in the future a resolution or fix is possible, it will be available from the Adobe Systems product update web site: http://www.adobe.com/downloads/updates/
    I am closing case#{181636711}, if you have any new information, please contact my team within 14 days, with the details, so we may re-open the support incident.
    You can also try referring to our knowledge base and User to User forums by clicking on the following links:
    Knowledgebase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support and we appreciate your time spent.
    Have a nice day.
    Regards,
    Adobe Technical Support
    Notes from Customer
    Thursday, August 12, 2010 9:13:56 PM PDT
    This case should not be closed till there is a fix for this bug. How can Adobe Support close a bug report when Adobe acknowledges its a bug where Adobe Support does not provide a fix. Blowing smoke with statements like "if in the future a resolution or fix is possible, it will be available from the Adobe Systems product update web site". Photoshop CS3 work correctly Adobe broke the Action Player in CS4 and its still broken is CS5. "if a fix is possible!"!!! Are you joking? What kind of support is that? Do you get a bonus for closing bug reports without fixing the bug? Does it make you look good inside Adobe. I can tell you from the outside there is a foul stench emulation from Adobe Technical Support.
    Notes to Customer
    Monday, August 16, 2010 2:30:22 PM PDT
    Dear John ,
    Thank you for getting back to us with the required information and we appreciate your patience in helping us to resolve your issue as soon as possible.
    This issue would require support from a senior level and hence I am forwarding your case to the next level of support for extensive research and to find a resolution for the problem at hand. I'll get back to you once we receive a reply from the concerned department.
    Please note that the expected turnaround time for resolution to this case from next level of support is 5 business days. I apologize for any inconvenience caused.
    We are always happy to assist you however, in future if you face any technical problems with Adobe products, you may also try referring to our knowledge base & User to User forums by clicking on the following links:
    KnowledgeBase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support. Have a nice day.
    Regards,
    Adobe Technical Support
    Notes to Customer
    Thursday, August 26, 2010 4:25:48 PM PDT
    Dear John ,
    Thank you for getting back to us with the required information and we appreciate your patience in helping us to resolve your issue as soon as possible.
    I would suggest you to please go to through the KB document to move actions from Photoshop CS4 to CS5 given below :
    http://kb2.adobe.com/cps/860/cpsid_86020.html
    Please make sure about the loaction of actions which you created or saved in Photoshop CS4, go to that location and make sure you have all the actions there.
    Did it ever work in Photoshop CS5?
    Try to make a copy of the action that he is trying to run, remove the 'Hide' command and re-record hide in PS CS5, put it into the action, and see if that works.
    Or try making a short action along with Hide command . If this works, then something might have got changed between the version.
    KnowledgeBase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support. Have a nice day.
    Regards,
    Adobe Technical Support
    Notes from Customer
    Friday, August 27, 2010 8:15:11 PM PDT
    This is the reply I received from adobe support you. I want this case open till it is resolved. Your trying everything to close it unresolved. Now your giving me instructions on how to migrate from CS4 which I don't have??? Please fix bug #{2679265}.
    ++++++++++From Adobe support+++++++++
    I have logged this issue with my Product Team and Engineering Team as Bug #{2679265}. Adobe’s Engineering Team will look into this issue, and if in the future a resolution or fix is possible, it will be available from the Adobe Systems product update web site: http://www.adobe.com/downloads/updates/
    I am closing case#{181636711}, if you have any new information, please contact my team within 14 days, with the details, so we may re-open the support incident.
    +++++++++++++++++++++++++++++++++
    Notes to Customer
    Monday, August 30, 2010 5:14:11 PM PDT
    Hi John ,
    Thank you for replying back.
    I would like to inform you that that we are working in techinical support department and fixing any issues or Bug with the product is done by the developers team. As they are already working on it and we don't have any update as how much time that gonna take. If you want we can have the case as open and as soon as there is any fix for the same, you will be getting the update on Adobe website.
    I hope this will address your concern.
    You can also try referring to our knowledge base and User to User forums by clicking on the following links:
    Knowledgebase: http://www.adobe.com/cfusion/search/index.cfm
    U2U Forums: www.forums.adobe.com
    To know more about Adobe products, please visit our product page:
    www.adobe.com/products
    Your technical support case number for this interaction is: 181636711
    Thanks for contacting Adobe Technical Web Support and we appreciate your time spent.
    Have a nice day.
    Regards,
    Adobe Technical Support
    Notes from Customer
      Tuesday, August 31, 2010 7:51:16 PM PDT
    Yes leave it open
    Notes from Customer
    Monday, September 6, 2010 5:57:14 AM PDT
    Thank You
    Adobe Support Call me and told me it would be fixed in the next release of Photoshop and asked me if they could close the case. I replyed IMO that is not the proper thing to do do what you want...
    ========================================================================================== ========================
    As you can see Adobe marked the case
    Status
    Withdrawn
    by Adobe over my objection.

  • How to make a movie clip invisible depending on a value in another layer?

    I am trying to make an "achievements" page for my game, where if the user has a high score greater than 100, then the achievement can be unlocked. I tried using a code like this, but it didn't seem to work!
    function Check();
    if(endscreen_mc.highscore_txt > 100)
    medals.roachLock.visible = false;
    else if(endscreen_mc.highscore_txt < 100)
    medals.roachLock.visible = true;
    else if(endscreen_mc.visible == 100)
    medals.roachLock.visible = true;
    The high score value is saved inside a shared object. What's wrong with my code, and what can I do to fix it?

    I tried doing this, but it's still not working.. 
    function Check():void
    if(Number(endscreen_mc.highscore_txt.text) > 100)
    medals_mc.roachLock.visible = false;
    medals_mc.medal_mc.visible = true;
    else if(Number(endscreen_mc.highscore_txt.text) <= 100)
        medals.roachLock.visible = true;
    This is what's inside my endscreen layer
    function showresults():void
              Rchannel.stop();
       // display current score
       endscreen_mc.scoreR_txt.text = String(score);
       // calculate, display and save (if necessary) a new highscore
       var so:SharedObject = SharedObject.getLocal("alltimeHighScore");
       if (!so.data.score || score > so.data.score)
           endscreen_mc.highscore_txt.text = String(score);
           so.data.score = score;
           so.flush();
                 Check();
       else
           endscreen_mc.highscore_txt.text = String(so.data.score);
       if(so.data.score==score)
                        endscreen_mc.score_txt.text = String(score);
                        endscreen_mc.highscore_txt.text = String(score);

  • HTML5 API - Heat Layer Points Not Working

    Hi everyone,
    Really weird issue this, and I am honestly at a loss to explain what's going on, so hopefully someone can spot my mistake!
    I want to overlay a density-based heat map over a map of Britain, based on longitude/latitude points stored in OBIEE columns. I have copied and pasted some of the code (modifying it for my needs) from the SampleApp v406 "dynamic heat layer" demonstration.
    My "showMap(darray)" function is what is responsible for building and displaying the map. darray in this case is an 2-dimensional array containing all the OBIEE data in [row number][column number] format which is fed in via a narrative view. Note that mapview, heatLayer and eventsLayer are global variables defined in the main script body. Below is the code:
    function showMap(darray) {
       var baseURL  = "http://"+document.location.host+"/mapviewer";
       mapview = new OM.Map(document.getElementById("map"), { mapviewerURL:baseURL });
       mapview.addLayer(new OM.layer.ElocationTileLayer("background"));
       var marker = new OM.style.Marker({src: "/mapviewer/icons/BALL_sel.png", width:7, height:7});
       var heatStyle = getStyle();
      heatLayer = new OM.layer.VectorLayer("heatLayer",
                def:
                    type: OM.layer.VectorLayer.TYPE_LOCAL
                    renderingStyle: heatStyle
      addPoints(darray, heatLayer);
      mapview.addLayer(heatLayer);
    eventsLayer = new OM.layer.VectorLayer("eventsLayer",
                def:
                    type: OM.layer.VectorLayer.TYPE_LOCAL
                    renderingStyle: marker
      addPoints(darray, eventsLayer);
      mapview.addLayer(eventsLayer);
      // Set the initial map center and zoom level
      var mapCenterLat = 51.14076;
      var mapCenterLon = 0.88016;
      var mapZoom = 8;
      var mpoint = new OM.geometry.Point(mapCenterLon,mapCenterLat,8307);
      mapview.setMapCenter(mpoint); 
      mapview.setMapZoomLevel(mapZoom);
      console.log(heatLayer);
      mapview.init();
    Here is the getStyle() function definition, it simply returns a style for the heat map to use.
    function getStyle(){
      var colors = ["#C6DBEF","#6BAED6","#008fff","#00abff","#00d5ff","#00ffff","#00ff7f","#00ff00","#7fff00","#ffff00","#ffd500","#ffab00","#ff7f00","#ff5600","#ff2b00", "#ff0000", "#A50F15"];
      var config = {
        spotlightRadius:25,
        lengthUnit:"pixel",
        colorStops: colors,
        opacity:0.65,                 
        sampleFactor: 1
      var heatStyle = new OM.style.HeatMap(config);
      return heatStyle;
    and here is the addPoints(darray) function which is responsible for plotting points on the layer:
    function addPoints(darray,layer) {
      /*lat,long,estb,metric*/
      for (i=0;i<darray.length; i++) {
          var fid = i;
          var mpoint = new OM.geometry.Point(darray[i][4], darray[i][3], 8307);
          var f_attr = {attributes :{"Car Number":darray[i][0], "Event":darray[i][2], "Time":darray[i][1]}};
          var feature = new OM.Feature(fid,mpoint,f_attr);
          layer.addFeature(feature);
    I apologise for the code dump, but I thought it would be necessary to help troubleshoot.
    My issue is that any layer using the "marker" style displays the points in the correct place, but the heat layer, which uses the "heatStyle" style, stacks all of its points at 0,0 which is somewhere just off the west coast of Africa! You'll notice the call to console.log(heatLayer), investigating this reveals that the correct GPS coordinates are being stored in the heat layer's feature array, it's just for some reason rendering them all at 0,0. This is what normally happens if you use an invalid SRID and it doesn't know where to put them on the map (if I change mpoint in addPoints() to use -1 as a SRID for example, then it does the same thing to the eventsLayer layer), but both layers use the same function. I have torn apart my code several times trying to understand why it's doing this, and compared it to the code in the SampleApp v406 demo and it's identical! The only difference is that I've modified getStyle() to return a static definition since I'm not allowing my users to modify the heat layer style. I've also got another visualisation with the same heat style definition and it works fine, though that is not based on a world-map but a custom one.
    I've also tried clearing all caches, including the presentation layer and mapviewer server, as well as my browser's cache, and it's still not working.
    EDIT: I have also discovered that any functions called from heatLayer, such as setVisible(true/false), produces a javascript error in oraclemapsv2.js "ReferenceError: layer is not defined", but only if the call is made OUTSIDE the showMap function. It looks like, for whatever reason, heatLayer works fine until showMap() is finished, and then it suddenly stops working? Remember that heatLayer is a global variable, so it is not a scope issue. What is going on?! Also, calling console.log(heatLayer) in the same function as my setVisible() call shows that heatLayer is still defined and still contains the same data, it's just that oraclemapsv2.js no longer recognises it. Is this a bug or something?
    If anyone can identify what I've done wrong, I would be extremely grateful!
    Thanks,
    Richard

    Hi Mark,
    Can you post the create index command, as well as the contents of user_sdo_geom_metadata for the point layer?
    Also, can you post the results of doing a select count(*) from the index table as well as select count(*) from the point table?
    Thanks,
    dan

  • Marquee tool - size converted to text layer?

    Firstly forgive me if this has been covered, the forum search just didn't work, even when searching for a something I could see!
    I'm wondering if there is a script that would do the following.
    With a rectangular marquee selection
    create a new layer
    stroke the marquee (1 pixel width)
    (then add text, positioned outside the marquee at the top right hand side - in a small font size - to list the width and height)
    w: <x>
    h: <x>
    The purpose is to create a visual reference image for various 2D layout tasks.
    Cheers,
    Mal

    You could give this a try:
    // add layer with stroke and text with measurements of selection;
    // 2011, use it at your own risk;
    #target photoshop
    try {
         var state = app.activeDocument.activeHistoryState;
         app.activeDocument.selection.deselect();
         if (app.activeDocument.activeHistoryState != state) {
              app.activeDocument.activeHistoryState = state
              var check = true;
         else {
              var check = false
    catch (e) {var check = false};
    // if document and selection;
    if (check == true) {
         var originalRulerUnits = preferences.rulerUnits;
         preferences.rulerUnits = Units.PIXELS;
         var originalResolution = app.activeDocument.resolution;
         var myDocument = app.activeDocument;
         myDocument.resizeImage (undefined, undefined, 72, ResampleMethod.NONE);
    // get selection measurements;
         var theBounds = myDocument.selection.bounds;
         var width = theBounds[2] - theBounds[0];
         var height = theBounds[3] - theBounds[1];
    // make layer;
         var theLayer = makeFillLayer(width+"x"+height, 0, 0, 0, 0);
         theLayer.fillOpacity = 0;
         addStroke();
    // create a text layer;
         var textLayer = myDocument.artLayers.add();
         textLayer.kind = LayerKind.TEXT;
         textLayer.name = width+" x "+height;
         var myTextRef = textLayer.textItem;
         myTextRef.size = 12 * originalResolution / 72;
         myTextRef.font = "Arial-BoldMT";
    //Set text colour in RGB values
         var newColor = new SolidColor();
         newColor.rgb.red = 0;
         newColor.rgb.green = 0;
         newColor.rgb.blue = 0;
         myTextRef.color = newColor;
         myTextRef.justification = Justification.RIGHT;
         myTextRef.kind = TextType.POINTTEXT;     
         myTextRef.position = [theBounds[2], theBounds[1] - 10];
         myTextRef.contents = width+" x "+height;
         textLayer.blendMode = BlendMode.NORMAL;
         textLayer.opacity = 100;
    // reset;
         preferences.rulerUnits = originalRulerUnits;
         myDocument.resizeImage (undefined, undefined, originalResolution, ResampleMethod.NONE);
    ////// the fill-layer-function //////
    function makeFillLayer (name, b, c, d, e) {
    var idMk = charIDToTypeID( "Mk  " );
        var desc6 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref2 = new ActionReference();
            var idcontentLayer = stringIDToTypeID( "contentLayer" );
            ref2.putClass( idcontentLayer );
        desc6.putReference( idnull, ref2 );
        var idUsng = charIDToTypeID( "Usng" );
            var desc7 = new ActionDescriptor();
            var idNm = charIDToTypeID( "Nm  " );
            desc7.putString( idNm, name );
            var idType = charIDToTypeID( "Type" );
                var desc8 = new ActionDescriptor();
                var idClr = charIDToTypeID( "Clr " );
                    var desc9 = new ActionDescriptor();
                    var idCyn = charIDToTypeID( "Cyn " );
                    desc9.putDouble( idCyn, b );
                    var idMgnt = charIDToTypeID( "Mgnt" );
                    desc9.putDouble( idMgnt, c );
                    var idYlw = charIDToTypeID( "Ylw " );
                    desc9.putDouble( idYlw, d );
                    var idBlck = charIDToTypeID( "Blck" );
                    desc9.putDouble( idBlck, e );
                var idCMYC = charIDToTypeID( "CMYC" );
                desc8.putObject( idClr, idCMYC, desc9 );
            var idsolidColorLayer = stringIDToTypeID( "solidColorLayer" );
            desc7.putObject( idType, idsolidColorLayer, desc8 );
        var idcontentLayer = stringIDToTypeID( "contentLayer" );
        desc6.putObject( idUsng, idcontentLayer, desc7 );
    executeAction( idMk, desc6, DialogModes.NO );
    return app.activeDocument.activeLayer
    ////// stroke //////
    function addStroke () {
    // =======================================================
    var idsetd = charIDToTypeID( "setd" );
        var desc5 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref2 = new ActionReference();
            var idPrpr = charIDToTypeID( "Prpr" );
            var idLefx = charIDToTypeID( "Lefx" );
            ref2.putProperty( idPrpr, idLefx );
            var idLyr = charIDToTypeID( "Lyr " );
            var idOrdn = charIDToTypeID( "Ordn" );
            var idTrgt = charIDToTypeID( "Trgt" );
            ref2.putEnumerated( idLyr, idOrdn, idTrgt );
        desc5.putReference( idnull, ref2 );
        var idT = charIDToTypeID( "T   " );
            var desc6 = new ActionDescriptor();
            var idScl = charIDToTypeID( "Scl " );
            var idPrc = charIDToTypeID( "#Prc" );
            desc6.putUnitDouble( idScl, idPrc, 416.666667 );
            var idFrFX = charIDToTypeID( "FrFX" );
                var desc7 = new ActionDescriptor();
                var idenab = charIDToTypeID( "enab" );
                desc7.putBoolean( idenab, true );
                var idStyl = charIDToTypeID( "Styl" );
                var idFStl = charIDToTypeID( "FStl" );
                var idInsF = charIDToTypeID( "InsF" );
                desc7.putEnumerated( idStyl, idFStl, idInsF );
                var idPntT = charIDToTypeID( "PntT" );
                var idFrFl = charIDToTypeID( "FrFl" );
                var idSClr = charIDToTypeID( "SClr" );
                desc7.putEnumerated( idPntT, idFrFl, idSClr );
                var idMd = charIDToTypeID( "Md  " );
                var idBlnM = charIDToTypeID( "BlnM" );
                var idNrml = charIDToTypeID( "Nrml" );
                desc7.putEnumerated( idMd, idBlnM, idNrml );
                var idOpct = charIDToTypeID( "Opct" );
                var idPrc = charIDToTypeID( "#Prc" );
                desc7.putUnitDouble( idOpct, idPrc, 100.000000 );
                var idSz = charIDToTypeID( "Sz  " );
                var idPxl = charIDToTypeID( "#Pxl" );
                desc7.putUnitDouble( idSz, idPxl, 1.000000 );
                var idClr = charIDToTypeID( "Clr " );
                    var desc8 = new ActionDescriptor();
                    var idRd = charIDToTypeID( "Rd  " );
                    desc8.putDouble( idRd, 0.000000 );
                    var idGrn = charIDToTypeID( "Grn " );
                    desc8.putDouble( idGrn, 0.000000 );
                    var idBl = charIDToTypeID( "Bl  " );
                    desc8.putDouble( idBl, 0.000000 );
                var idRGBC = charIDToTypeID( "RGBC" );
                desc7.putObject( idClr, idRGBC, desc8 );
            var idFrFX = charIDToTypeID( "FrFX" );
            desc6.putObject( idFrFX, idFrFX, desc7 );
        var idLefx = charIDToTypeID( "Lefx" );
        desc5.putObject( idT, idLefx, desc6 );
    executeAction( idsetd, desc5, DialogModes.NO );

  • Using color sampler values with curves adjustment layer

    Hi, I have just started trying to teach myself javascript.  Based on preliminary research, it's become apparent that there are many functions in Photoshop that are either extremely cumbersome or impossible to code by hand without using the Script Listener.
    My  goal is as follows: first, I will manually load two photos as layers in a single document.  Then I will manually place two or more color sampler points on the document.  At this point I would like the script to create a curves adjustment layer (ideally clipped to layer 2) and place as individual channel anchor points  the RGB data from the color sampler points on Layer 2, and then adjust the output of the points on each channel to the color sampler RGB values of layer 1.  
    As my first script, I realize this is probably going to be a lot of work.
    I did find some code that returns the average value of manually placed color sampler points.  Conceptually then, I would need to add code which creates a new curves adjustment layer and adds those RGB values (from a specific layer)  as anchor points on the individual channels,  and then hides one layer and looks at the RGB values of the color sampler points, and uses them as the output values for each anchor point.
    Sounds simple enough from a conceptual standpoint.
    I'm looking for some guidance on how to get started.
    Which parts will I definitely need Scriptlistener for and will that be adequate to do the job?
    How would you recommend I get started on this?
    Thanks very much for any input.

    The function I had provided was an example into which you would need to feed the values you got with Mike’s code.
    The code below would create a Curves Layer as shown in the screenshot, but I’m not sure it would work reasonably for all cases.
    // with code by mike hale;
    // 2012, use it at your own risk;
    // call the function to run the script
    #target photoshop
    createCurveAdjustmetFromColorSamplers();
    // create a function fo hold most of the code
    function createCurveAdjustmetFromColorSamplers(){
        // first add some condition checks
        // needs an open document in a color mode that supports layers
        if(app.documents.length == 0 || ( app.activeDocument.mode == DocumentMode.BITMAP || app.activeDocument.mode == DocumentMode.INDEXEDCOLOR ) ){   
            alert('This script requires a document in Greyscale, RGB, CMYK, or Lab mode.');
            return;
        // check for at least two colorSamplers
        if(app.activeDocument.colorSamplers.length < 2 ){
            alert('This script requires at least two colorSamplers.');
            return;
        // last check for at least two layers - assume they will be on same level( not in layerSet )
        if(app.activeDocument.layers.length < 2 ){
            alert('This script requires at least two layers.');
            return;
        // create varaibles to hold the colorSampler's color property for each layer
        // for the bottom layer
        var outputArray = new Array();
        // for top layer - array could also be created this way
        var inputArray = [];
        // store the number of samples because it will be needed in more than one place
        var numberOfSamples = app.activeDocument.colorSamplers.length;
        // hide the top layer
        app.activeDocument.layers[0].visible = false;
        // collect the samples from the bottom layer
        for(var sampleIndex = 0; sampleIndex < numberOfSamples; sampleIndex++ ){
            outputArray.push(app.activeDocument.colorSamplers[sampleIndex].color);
        // turn the top layer back on
        app.activeDocument.layers[0].visible = true;
        // collect those samples
        for(var sampleIndex = 0; sampleIndex < numberOfSamples; sampleIndex++ ){
            inputArray.push(app.activeDocument.colorSamplers[sampleIndex].color);
        // make sure the top layer is the activeLayer
        app.activeDocument.activeLayer = app.activeDocument.layers[0];
    // create arrays of the color values:
    var theArray = [[0, 0, 0, 0, 0, 0]];
    for (var m = 0; m < inputArray.length; m++) {
    theArray.push([inputArray[m].rgb.red, outputArray[m].rgb.red, inputArray[m].rgb.green, outputArray[m].rgb.green, inputArray[m].rgb.blue, outputArray[m].rgb.blue]);
    theArray.push([255, 255, 255, 255, 255, 255]);
    // sort;
    theArray.sort(sortArrayByIndexedItem);
    // makeCurveAdjustmentLayer();
    rgbCurvesLayer (theArray)
    ////// make rgb curves layer //////
    function rgbCurvesLayer (theArray) {
    // =======================================================
    var idMk = charIDToTypeID( "Mk  " );
        var desc5 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref2 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            ref2.putClass( idAdjL );
        desc5.putReference( idnull, ref2 );
        var idUsng = charIDToTypeID( "Usng" );
            var desc6 = new ActionDescriptor();
            var idType = charIDToTypeID( "Type" );
                var desc7 = new ActionDescriptor();
                var idpresetKind = stringIDToTypeID( "presetKind" );
                var idpresetKindType = stringIDToTypeID( "presetKindType" );
                var idpresetKindDefault = stringIDToTypeID( "presetKindDefault" );
                desc7.putEnumerated( idpresetKind, idpresetKindType, idpresetKindDefault );
            var idCrvs = charIDToTypeID( "Crvs" );
            desc6.putObject( idType, idCrvs, desc7 );
        var idAdjL = charIDToTypeID( "AdjL" );
        desc5.putObject( idUsng, idAdjL, desc6 );
    executeAction( idMk, desc5, DialogModes.NO );
    // =======================================================
    var idsetd = charIDToTypeID( "setd" );
        var desc8 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref3 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            var idOrdn = charIDToTypeID( "Ordn" );
            var idTrgt = charIDToTypeID( "Trgt" );
            ref3.putEnumerated( idAdjL, idOrdn, idTrgt );
        desc8.putReference( idnull, ref3 );
        var idT = charIDToTypeID( "T   " );
            var desc9 = new ActionDescriptor();
            var idpresetKind = stringIDToTypeID( "presetKind" );
            var idpresetKindType = stringIDToTypeID( "presetKindType" );
            var idpresetKindCustom = stringIDToTypeID( "presetKindCustom" );
            desc9.putEnumerated( idpresetKind, idpresetKindType, idpresetKindCustom );
            var idAdjs = charIDToTypeID( "Adjs" );
                var list1 = new ActionList();
                    var desc10 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref4 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idRd = charIDToTypeID( "Rd  " );
                        ref4.putEnumerated( idChnl, idChnl, idRd );
                    desc10.putReference( idChnl, ref4 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list2 = new ActionList();
    // add r points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list2, theArray[m], 0)
                    desc10.putList( idCrv, list2 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc10 );
                    var desc15 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref5 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idGrn = charIDToTypeID( "Grn " );
                        ref5.putEnumerated( idChnl, idChnl, idGrn );
                    desc15.putReference( idChnl, ref5 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list3 = new ActionList();
    // add g points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list3, theArray[m], 2)
                    desc15.putList( idCrv, list3 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc15 );
                    var desc20 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref6 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idBl = charIDToTypeID( "Bl  " );
                        ref6.putEnumerated( idChnl, idChnl, idBl );
                    desc20.putReference( idChnl, ref6 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list4 = new ActionList();
    // add b points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list4, theArray[m], 4)
                    desc20.putList( idCrv, list4 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc20 );
            desc9.putList( idAdjs, list1 );
        var idCrvs = charIDToTypeID( "Crvs" );
        desc8.putObject( idT, idCrvs, desc9 );
    executeAction( idsetd, desc8, DialogModes.NO );
    return app.activeDocument.activeLayer;
    ////// add curve point //////
    function addCurvePoint (theList, valueHor, theNumber) {
    var desc11 = new ActionDescriptor();
    var idHrzn = charIDToTypeID( "Hrzn" );
    desc11.putDouble( idHrzn, valueHor[theNumber] );
    var idVrtc = charIDToTypeID( "Vrtc" );
    desc11.putDouble( idVrtc, valueHor[theNumber+1] );
    var idPnt = charIDToTypeID( "Pnt " );
    theList.putObject( idPnt, desc11 );
    ////// sort a double array, thanks to sam, http://www.rhinocerus.net/forum/lang-javascript/ //////
    function sortArrayByIndexedItem(a,b) {
    var theIndex = 0;
    if (a[theIndex]<b[theIndex]) return -1;
    if (a[theIndex]>b[theIndex]) return 1;
    return 0;

  • Script select parent group by layer

    I have complicated workflow in photoshop in which i often use selection of layers by ctrl+click (auto-select is unchecked and selecting layers is chosen) That works good for me. But some time i need quickly select parent group of active layer (only one level up) (it can be achived by using some keyboard shortcut)  I think the only way to do that is PS scripting.
    Im new to photoshop scripting but i have a lot of expirience in other languages
    As i understand its sould take just couple commands:
    1) select parent folder from active object (it can be any type of layer)
    2) Collapse this folder (cos it was uncollapsed before)
    what syntax shoud i use for this commands? i tried to use help but couldn't find even how to select parent folder of active layer..
    Any help?

    I've tried the following codes and it works for me. It selects the parent layer of the group and then collapses it:
    1. copy the following script and paste it into notepad. Save it as LayerSetSupport.jsx and save it in the same folder as all your other scripts:
    //START HERE------------------------------------------
    //For code readability
    function cTID(s){return charIDToTypeID(s)}
    function sTID(s){return stringIDToTypeID(s)}
    // =============================
    function openAllLayerSets( parent ){
        for(var setIndex=0;setIndex<parent.layerSets.length;setIndex++){
            app.activeDocument.activeLayer = parent.layerSets[setIndex].layers[0];
            openAllLayerSets( parent.layerSets[setIndex]);
    function closeAllLayerSets(ref) {
              var layers = ref.layers;
              var len = layers.length;
              for ( var i = 0; i < len; i ++) {
                        var layer = layers[i];
                        if (layer.typename == 'LayerSet') {closeGroup(layer); var layer = layers[i]; closeAllLayerSets(layer);};
    function openGroup(layerSet) {
       var m_activeLayer = activeDocument.activeLayer;
       var m_Layer_Dummy01 = layerSet.artLayers.add();
       var m_Layer_Dummy02 = layerSet.artLayers.add();
       layerSet.layers[1].name = layerSet.layers[1].name;
       m_Layer_Dummy01.remove();
       m_Layer_Dummy02.remove();
       activeDocument.activeLayer = m_activeLayer;
    function closeGroup(layerSet) {
       var m_Name = layerSet.name;
       var m_Opacity = layerSet.opacity;
       var m_BlendMode = layerSet.blendMode;
       var m_LinkedLayers = layerSet.linkedLayers;
       var m_bHasMask = hasLayerMask();
       if(m_bHasMask) loadSelectionOfMask();
       if(layerSet.layers.length <= 1) {
          addLayer();
          var m_Tmp = activeDocument.activeLayer;
          m_Tmp.name = "dummy - feel free to remove me";
          activeDocument.activeLayer = layerSet;
          ungroup();
          addToSelection("dummy - feel free to remove me");
          groupSelected(m_Name);
       } else {
          activeDocument.activeLayer = layerSet;
          ungroup();
          groupSelected(m_Name);
       var m_Closed = activeDocument.activeLayer;
       m_Closed.opacity = m_Opacity;
       m_Closed.blendMode = m_BlendMode;
       for(x in m_LinkedLayers) {
          if(m_LinkedLayers[x].typename == "LayerSet")
             activeDocument.activeLayer.link(m_LinkedLayers[x]);
       if(m_bHasMask) maskFromSelection();
       return m_Closed;
    function ungroup() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Lyr " ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( sTID( "ungroupLayersEvent" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function addLayer() {
       var m_ActiveLayer          =    activeDocument.activeLayer;
       var m_NewLayer             =    activeDocument.artLayers.add();
       m_NewLayer.move(m_ActiveLayer, ElementPlacement.PLACEBEFORE);
       return m_NewLayer;
    function hasLayerMask() {
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( sTID( "layer" ), cTID( "Ordn" ), cTID( "Trgt" ));
       var m_Dsc01= executeActionGet( m_Ref01 );
       return m_Dsc01.hasKey(cTID('Usrs'));
    function activateLayerMask() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Chnl" ), cTID( "Msk " ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( cTID( "slct" ), m_Dsc01, DialogModes.NO );
       } catch(e) {
          var m_TmpAlpha = new TemporaryAlpha();
          maskFromSelection();
          activateLayerMask();
          m_TmpAlpha.consume();
    function deleteMask(makeSelection) {
       if(makeSelection) {
          loadSelectionOfMask();
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( cTID( "Dlt " ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function selectLayerMask() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
       m_Dsc01.putReference(cTID("null"), m_Ref01);
       m_Dsc01.putBoolean(cTID("MkVs"), false );
       try {
          executeAction(cTID("slct"), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function loadSelectionOfMask() {
       selectLayerMask();
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putProperty( cTID( "Chnl" ), cTID( "fsel" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       var m_Ref02 = new ActionReference();
       m_Ref02.putEnumerated( cTID( "Chnl" ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "T   " ), m_Ref02 );
       try {
          executeAction( cTID( "setd" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function maskFromSelection() {
       if(!hasLayerMask()) {
          var m_Dsc01 = new ActionDescriptor();
          m_Dsc01.putClass( cTID( "Nw  " ), cTID( "Chnl" ) );
          var m_Ref01 = new ActionReference();
          m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Chnl" ), cTID( "Msk " ) );
          m_Dsc01.putReference( cTID( "At  " ), m_Ref01 );
          m_Dsc01.putEnumerated( cTID( "Usng" ), cTID( "UsrM" ), cTID( "RvlS" ) );
          try {
             executeAction( cTID( "Mk  " ), m_Dsc01, DialogModes.NO );
          } catch(e) {
             activeDocument.selection.selectAll();
             maskFromSelection();
       } else {
          if(confirm("Delete existing mask?", true, "Warning")) {
             activateLayerMask();
             deleteMask();
    function groupSelected(name) {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putClass( sTID( "layerSection" ) );
       m_Dsc01.putReference(  cTID( "null" ), m_Ref01 );
       var m_Ref02 = new ActionReference();
       m_Ref02.putEnumerated( cTID( "Lyr " ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "From" ), m_Ref02 );
       var m_Dsc02 = new ActionDescriptor();
       m_Dsc02.putString( cTID( "Nm  " ), name);
       m_Dsc01.putObject( cTID( "Usng" ), sTID( "layerSection" ), m_Dsc02 );
       executeAction( cTID( "Mk  " ), m_Dsc01, DialogModes.NO );
       return activeDocument.activeLayer;
    function addToSelection(layerName) {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putName( cTID( "Lyr " ), layerName );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       m_Dsc01.putEnumerated( sTID( "selectionModifier" ), sTID( "selectionModifierType" ), sTID( "addToSelection" ) );
       m_Dsc01.putBoolean( cTID( "MkVs" ), false );
       try {
          executeAction( cTID( "slct" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function TemporaryAlpha() {
       activeDocument.selection.store((this.alpha = activeDocument.channels.add()));
       activeDocument.selection.deselect();
       this.consume = function() {
          activeDocument.selection.load(this.alpha);
          this.alpha.remove();
    // The main function
    //openGroup(activeDocument.activeLayer);
    //openAllLayerSets( app.activeDocument );
    //closeGroup(activeDocument.activeLayer);
    //closeAllLayerSets( app.activeDocument );
    //END HERE-----------------------------------------------
    then, copy the following code and save it into the same folder, and save it under any filename you wish:
    //START HERE-----------------------------------------------
    var doc = app.activeDocument;
    var theLayer = activeDocument.activeLayer;
    var theParent = theLayer.parent;
    doc.activeLayer = theParent;
    // =======================================================
    // The main function
    //@include "LayerSetSupport.jsx"
    if (activeDocument.activeLayer.typename == 'LayerSet')
    {app.activeDocument.suspendHistory('closeGroup','closeGroup
    (activeDocument.activeLayer)');}
    //END HERE-----------------------------------------------
    now once you run the above script (the one which you gave it your own filename), it should select the parent layer and then collpase it. First make sure that the selected(active) layer is not the parent layer of the group. I beleive the main scripting here was done by csuebele, so thank him for this
    (sorry I don't know how to paste the above code into its own sub-window)

Maybe you are looking for

  • Own JDialog - works with java5, doesn't work with java6

    Hello, I'm working on map editor for a bigger project and I'm stuck with displaying my own JDialog (grrr...). I found out that problem occurs only with java6. See the screenshots below: java5 http://student.agh.edu.pl/~kdzwinel/Projects/TrafficSim/Ma

  • WDA application on virtual host (port)

    Hi, is there a way how to deploy (create) a webdynpro application on a virtual host (port)? As I generate a webdynpro application, SAP creates a service under default host (port). I need to have my application accessible only on virtual host (port) -

  • Overwrite files

    Hi there, I have a script which automates the save of a file that is already in a location, hence it asks me if I want to replace it or not. Is there any way to go around this? Cheers, Ricky.

  • Wi-Fi N95 further help required

    I am still unable to log on to my home network. My ISP is Orange. When I try to define access point it asks for a pre-shared access key. Yet when I try to log on to a BT home network it asks for a WEP key and after entering the key I can start surfin

  • I am going to a camp and need creative ideas!

    i am goign to a campo and i am incharge of makign a video yearbook. i have plenty of exeperience in editing etc. There are different classes at this camp such as P.E , art, language, free time, etc. I was wondering how i would set this project up. Do