Shadow with .jsx

I have thousands of images cropped bottle and I would like to add a shadow (made with ellipse-> Gaussian blur, blur movement) at the bottom of each with .jsx. I have a lot of difficulties because the bottle images have different dimensions, and I would also change the size of a shadow. I need a script! could someone help me?

Here, it's with the addition of 300 to the canvas

app.activeDocument.suspendHistory ("bcm_addShadow", "main()");

main() {} function

makeShadow (15, 4.5, 2.49, 25.49, 70); / / These values are procents

arg1: this x to add to the selection of elised compared to the width of the layer

Arg2: the procent to add to the selection of elised compared to the height of the layer of y / / obsolete

Arg3: this blur

Arg4: motion blur procent

$arg5: this opacity

}

function makeShadow (xPrc, yPrc, blurPrc, mBlurPrc, shOpacPrc) {}

= first to add 300 px autour

var idCnvS = charIDToTypeID ("CNV");

var desc9 = new ActionDescriptor();

var idRltv = charIDToTypeID ("Rltv");

desc9.putBoolean (idRltv, true);

var idWdth = charIDToTypeID ("Wdth");

var idPxl = charIDToTypeID ("#Pxl");

desc9.putUnitDouble (idWdth, idPxl, 300.000000);

var idHght = charIDToTypeID ("Hght");

var idPxl = charIDToTypeID ("#Pxl");

desc9.putUnitDouble (idHght, idPxl, 300.000000);

var idHrzn = charIDToTypeID ("Hrzn");

var idHrzL = charIDToTypeID ("HrzL");

var idCntr = charIDToTypeID ("Cntr");

desc9.putEnumerated (idHrzn, idHrzL, idCntr);

var idVrtc = charIDToTypeID ("Vrtc");

var idVrtL = charIDToTypeID ("Retix");

var idCntr = charIDToTypeID ("Cntr");

desc9.putEnumerated (idVrtc, idVrtL, idCntr);

executeAction (idCnvS, desc9, DialogModes.NO);

var btLayer = app.activeDocument.activeLayer;

var btLayer.name = lyrN;

lb var = getLBounds();

var lw is parseFloat (lb.right) - parseFloat (lb.left);.

var lh is parseFloat (lb.bottom) - parseFloat (lb.top);.

var percW = (lw * xPrc) / 100;

Var pole = (lh * yPrc) / 100;

= get the substantive limits

var lidx = getSelectedLayersIdx();

var percWT = (lw * 20) / 100;

var percHT = (lh * 20) / 100;

makeSquareSelection (lb.bottom - percHT, lb.left, lb.bottom, lb.right);

app.activeDocument.selection.invert ();

makeShadowLayer();

var tlidx = getSelectedLayersIdx();

selectLayerTranspByIDX (parseInt (lidx));

substractLayerTranspByIDX (parseInt (tlidx));

// =======================================================delete temp layer

var idDlt = charIDToTypeID ("Dlt");

var desc240 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref221 = new ActionReference();

var idLyr = charIDToTypeID ("Lyr");

var idOrdn = charIDToTypeID ('Ordn');

var idTrgt = charIDToTypeID ("Trgt");

ref221.putEnumerated (idLyr, idOrdn, idTrgt);

desc240.putReference (idnull, ref221);

executeAction (idDlt, desc240, DialogModes.NO);

LCB var = app.activeDocument.selection.bounds;

lcbO = {top: parseInt(lcb[1]), right:parseInt(lcb[2]), left:parseInt(lcb[0]), bottom:parseInt(lcb[3])};}

app.activeDocument.selection.deselect ();

= finished find substantive obligations

var selW = (pole, lcbO.right + percW)-(lcbO.left-percW);

var pH = (selW / 6.77)/2;//keepeng all elipsoids for the same report)

makeElipsoidSelection (pH, lcbO.bottom - pH, lcbO.left - percW, lcbO.bottom + lcbO.right + percW);

offsetSelection (-pole/2, 0); rising a bit selection

makeShadowLayer();

// =======================================================

var idnewPlacedLayer = stringIDToTypeID ("newPlacedLayer");

executeAction (idnewPlacedLayer, undefined, DialogModes.NO);

selH var = (lb.right + bass)-(lb.left-perche);

selcH var = (lcbO.right + bass)-(lcbO.left-perche);

Alert (selH)

var blurPercH = (selcH * blurPrc) / 100;

Blur (blurPercH);

var MblurPercH = (selcH * mBlurPrc) / 100;

mtnBlur (parseInt (MblurPercH));

// =======================================================move layer down

var idmove is charIDToTypeID ('move');.

var desc312 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref283 = new ActionReference();

var idLyr = charIDToTypeID ("Lyr");

var idOrdn = charIDToTypeID ('Ordn');

var idTrgt = charIDToTypeID ("Trgt");

ref283.putEnumerated (idLyr, idOrdn, idTrgt);

desc312.putReference (idnull, ref283);

idT var = charIDToTypeID ("T");

var ref284 = new ActionReference();

var idLyr = charIDToTypeID ("Lyr");

var idOrdn = charIDToTypeID ('Ordn');

var idPrvs = charIDToTypeID ("Prev");

ref284.putEnumerated (idLyr, idOrdn, idPrvs);

desc312.putReference (idT, ref284);

executeAction (idmove, desc312, DialogModes.NO);

app.activeDocument.activeLayer.name = lyrN + "Ellie"; Rename shadowlayer

// =======================================================set opacity

var idsetd = charIDToTypeID ("setd");

var desc317 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref288 = new ActionReference();

var idLyr = charIDToTypeID ("Lyr");

var idOrdn = charIDToTypeID ('Ordn');

var idTrgt = charIDToTypeID ("Trgt");

ref288.putEnumerated (idLyr, idOrdn, idTrgt);

desc317.putReference (idnull, ref288);

idT var = charIDToTypeID ("T");

var desc318 = new ActionDescriptor();

var idOpct = charIDToTypeID ("PCT");

var idPrc = charIDToTypeID ("#Prc");

desc318.putUnitDouble (idOpct, idPrc, shOpacPrc);

var idLyr = charIDToTypeID ("Lyr");

desc317.putObject (idT, idLyr, desc318);

executeAction (idsetd, desc317, DialogModes.NO);

app.activeDocument.activeLayer = btLayer;

}

function getLBounds() {}

Var ref = new ActionReference();

ref.putEnumerated (charIDToTypeID ("Lyr"), charIDToTypeID ('Ordn'), charIDToTypeID ("Trgt'));

DESC1 = executeActionGet (ref);

DESC1 = desc1.getObjectValue (stringIDToTypeID ('bounds'));

desc1Top = desc1.getUnitDoubleValue (stringIDToTypeID ('top'));

desc1Bottom = desc1.getUnitDoubleValue (stringIDToTypeID ('bottom'));

desc1Left = desc1.getUnitDoubleValue (stringIDToTypeID ('left'));

desc1Right = desc1.getUnitDoubleValue (stringIDToTypeID ('right'));

rObj = {top: desc1Top, left: desc1Left, low: right desc1Bottom: desc1Right};

return rObj;

}

function selectLayerTranspByIDX (idx) {}

var idsetd = charIDToTypeID ("setd");

var desc205 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref179 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idfsel = charIDToTypeID ("FSC");

ref179.putProperty (idChnl, idfsel);

desc205.putReference (idnull, ref179);

idT var = charIDToTypeID ("T");

var ref180 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idChnl = charIDToTypeID ('channel');

var idTrsp = charIDToTypeID ("TN");

ref180.putEnumerated (idChnl, idChnl, idTrsp);

var idLyr = charIDToTypeID ("Lyr");

ref180.putIndex (idLyr, idx);

desc205.putReference (idT, ref180);

executeAction (idsetd, desc205, DialogModes.NO);

}

function substractLayerTranspByIDX (idx) {}

var idSbtr = charIDToTypeID ("rBST");

var desc213 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref193 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idChnl = charIDToTypeID ('channel');

var idTrsp = charIDToTypeID ("TN");

ref193.putEnumerated (idChnl, idChnl, idTrsp);

var idLyr = charIDToTypeID ("Lyr");

ref193.putIndex (idLyr, idx);

desc213.putReference (idnull, ref193);

var idFrom = charIDToTypeID ("from");

var ref194 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idfsel = charIDToTypeID ("FSC");

ref194.putProperty (idChnl, idfsel);

desc213.putReference (idFrom, ref194);

executeAction (idSbtr, desc213, DialogModes.NO);

}

function makeSquareSelection (top, right, left, btom) {}

var idsetd = charIDToTypeID ("setd");

var desc167 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref135 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idfsel = charIDToTypeID ("FSC");

ref135.putProperty (idChnl, idfsel);

desc167.putReference (idnull, ref135);

idT var = charIDToTypeID ("T");

var desc168 = new ActionDescriptor();

var idTop = charIDToTypeID ('Top');

var idPxl = charIDToTypeID ("#Pxl");

desc168.putUnitDouble (idTop, idPxl, top of page);

var idLeft = charIDToTypeID ("Left");

var idPxl = charIDToTypeID ("#Pxl");

desc168.putUnitDouble (idLeft, idPxl, on the left);

var idBtom = charIDToTypeID ("Btom");

var idPxl = charIDToTypeID ("#Pxl");

desc168.putUnitDouble (idBtom, idPxl, btom);

var idRght = charIDToTypeID ('Rght');

var idPxl = charIDToTypeID ("#Pxl");

desc168.putUnitDouble (idRght, idPxl, right);

var idRctn = charIDToTypeID ("Rctn");

desc167.putObject (idT, idRctn, desc168);

executeAction (idsetd, desc167, DialogModes.NO);

}

function makeElipsoidSelection (top, right, left, btom) {}

var idsetd = charIDToTypeID ("setd");

var desc15 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

ref10 var = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idfsel = charIDToTypeID ("FSC");

Ref10.putProperty (idChnl, idfsel);

desc15.putReference (idnull, ref10);

idT var = charIDToTypeID ("T");

var desc16 = new ActionDescriptor();

var idTop = charIDToTypeID ('Top');

var idPxl = charIDToTypeID ("#Pxl");

desc16.putUnitDouble (idTop, idPxl, parseInt (top));

var idLeft = charIDToTypeID ("Left");

var idPxl = charIDToTypeID ("#Pxl");

desc16.putUnitDouble (idLeft, idPxl, parseInt (left));

var idBtom = charIDToTypeID ("Btom");

var idPxl = charIDToTypeID ("#Pxl");

desc16.putUnitDouble (idBtom, idPxl, parseInt (btom));

var idRght = charIDToTypeID ('Rght');

var idPxl = charIDToTypeID ("#Pxl");

desc16.putUnitDouble (idRght, idPxl, parseInt (right));

var idElps = charIDToTypeID ("ELP");

desc15.putObject (idT, idElps, desc16);

var the idAntA = charIDToTypeID ("AntA");

desc15.putBoolean (the idAntA, true);

executeAction (idsetd, desc15, DialogModes.NO);

}

function makeShadowLayer() {}

// =======================================================

var idMk = charIDToTypeID ("Mk");

var desc169 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref153 = new ActionReference();

var idLyr = charIDToTypeID ("Lyr");

ref153.putClass (idLyr);

desc169.putReference (idnull, ref153);

executeAction (idMk, desc169, DialogModes.NO);

var b = new SolidColor();

blck. RGB. Red = 0;

blck. RGB. Green = 0;

blck. RGB. Blue = 0;

app.activeDocument.selection.fill (blck);

app.activeDocument.selection.deselect ();

}

function of blur (ss) {}

var idGsnB = charIDToTypeID ("GsnB");

var desc65 = new ActionDescriptor();

var idRds = charIDToTypeID ("Rds");

var idPxl = charIDToTypeID ("#Pxl");

desc65.putUnitDouble (idRds, idPxl, ss);

executeAction (idGsnB, desc65, DialogModes.NO);

}

function mtnBlur (ss) {}

var idMtnB = charIDToTypeID ("MtnB");

var desc226 = new ActionDescriptor();

var idAngl = charIDToTypeID ("Marko");

desc226.putInteger (idAngl, 0);

var idDstn = charIDToTypeID ("Dstn");

var idPxl = charIDToTypeID ("#Pxl");

desc226.putUnitDouble (idDstn, idPxl, ss);

executeAction (idMtnB, desc226, DialogModes.NO);

}

function getSelectedLayersIdx() {/ / get the index of selected layers (position in the layer editor)}

var selectedLayers = new Array;

Var ref = new ActionReference();

ref.putEnumerated (charIDToTypeID ('Dcmn'), charIDToTypeID ('Ordn'), charIDToTypeID ('Trgt'));

var / / desc = executeActionGet (ref);

Add var = 1;

If (hasBackground ()) {alert ('gebunden'); add = 0}

If (desc.hasKey (stringIDToTypeID ("targetLayers"))) {}

DESC = desc.getList (stringIDToTypeID ('targetLayers'));

var c = desc.count

var selectedLayers = new Array();

for (var i = 0; i)<>

selectedLayers.push ((desc.getReference (i). getIndex()) + add);

}

} else {}

Var ref = new ActionReference();

ref.putProperty (charIDToTypeID ('Rprp'), charIDToTypeID ("ItmI'));

ref.putEnumerated (charIDToTypeID ('Lyr'), charIDToTypeID ('Ordn'), charIDToTypeID ('Trgt'));

SRS = (hasBackground)? executeActionGet (Ref), .getInteger (charIDToTypeID ('ItmI')) - 1:executeActionGet (ref), .getInteger (charIDToTypeID ('ItmI'));

selectedLayers.push (srs);

}

Return selectedLayers;

}

function hasBackground() {/ / function to check if there is a background layer}

var RES = not defined;

try {}

Var ref = new ActionReference();

ref.putProperty (charIDToTypeID ("Rprp"), charIDToTypeID ("Nm"));

ref.putIndex (charIDToTypeID ("Lyr"), 0);

executeActionGet (ref) .getString (charIDToTypeID ("Nm"));

RES = true;

} catch (e) {res = false}

return res;

}

function offsetSelection (x, y) {}

var idTrnf = charIDToTypeID ("Trnf");

var desc356 = new ActionDescriptor();

var idnull = charIDToTypeID ("null");

var ref314 = new ActionReference();

var idChnl = charIDToTypeID ('channel');

var idfsel = charIDToTypeID ("FSC");

ref314.putProperty (idChnl, idfsel);

desc356.putReference (idnull, ref314);

var idFTcs = charIDToTypeID ("CIE");

var idQCSt = charIDToTypeID ("QCSt");

var idQcsa = charIDToTypeID ("Qcsa");

desc356.putEnumerated (idFTcs, idQCSt, idQcsa);

var idOfst = charIDToTypeID ("Ofst");

var desc357 = new ActionDescriptor();

var idHrzn = charIDToTypeID ("Hrzn");

var idPxl = charIDToTypeID ("#Pxl");

desc357.putUnitDouble (idHrzn, idPxl, y);

var idVrtc = charIDToTypeID ("Vrtc");

var idPxl = charIDToTypeID ("#Pxl");

desc357.putUnitDouble (idVrtc, idPxl, x);

var idOfst = charIDToTypeID ("Ofst");

desc356.putObject (idOfst, idOfst, desc357);

var idIntr = charIDToTypeID ("Introduction");

var idIntp = charIDToTypeID ("Intp");

var idBcbc = charIDToTypeID ("Bcbc");

desc356.putEnumerated (idIntr, idIntp, idBcbc);

executeAction (idTrnf, desc356, DialogModes.NO);

}

Tags: Photoshop

Similar Questions

  • How to make a shadow with a picture of table top

    I have to photograph jewelry and must make a shadow with the objects that I shoot. They are a ring and a bracelet.

    Can you offer and the 'easy' way to do this please.  Thank you very much, Penni

    The simplest is to photograph the jewelry with a directional light that will cast a shadow. Photographing jewelry on a white background.

    Then this in Photoshop.
    (1) duplicate the image layer.

    (2) mask the jewels on the top layer.

    (3) Desaturate the layer below.

    (4) levels of use on the layer shadow to add contrast, making all white white background without blowing in the shade.

    Is attached a screenshot of a product shot with shadow created as described above.

  • Add the drop shadow with css?

    is it possible to add a drop shadow with css? (more precisely to a label component)


    Thank you!

    No, the shadows are implemented as filters, no styles. They cannot be resolved through CSS in Flex 3.

    Matt Horn
    Flex docs

  • Satellite Pro U200: dark shadow with the lowest level of brightness

    Hello

    Now, I have another problem with the display of my U200:
    In the lowest brightness level, there is a dark shadow on the left side. I can see it after a few minutes of work at this level of brightness. Two months ago the display has been repaired or replaced by TOSHIBA.

    You know this problem or could someone test it please if this is normal or not? In the other levels of brightness, I can't see a shadow.

    Thanks in advance, Michael

    Hello

    Have you noticed these shadows before the repair screen?
    I m not a Pro U200 owner and, therefore, I can not say much about this issue, but on my laptop, something similar appears if the brightness is set to lowest level.

    In any case, I recommend you to call the guy who repaired the display. Maybe they know more about this issue and could provide details.

  • 5DS (r) tone curve in LR and ACR: crushed shadows with all profiles

    Hello

    When Adobe released LR CC with what seemed at the time as a preliminary treatment of 5DS (r) Canon files, I noticed that the tone curve with all profiles (Adobe standard or brand profiles) seems to produce shadows much darker than all the other Canon cameras. It's something that dpreview noticed too:

    "In addition, comparisons are slightly complicated by the aggressive tone curve that ACR applies to files R 5DS crushing its blacks, and potentially reduce visible noise levels by making them darker. We anticipate a later version of ACR to solve this problem, how reprocess us and return on these results.

    Canon EOS 5 d / 5 d R First Impressions Review: Digital Photography Review

    With the release of 2015.1 LR, I expected at this behavior needs to be corrected, but this is not the case. Is this something that is inherent in the 5DS (r) files? Adobe plan to fix this?

    Thank you

    For your convenience, I made versions of 'Contrast medium' profiles if you want a low contrast default starting point.

    For the 5 d: https://dl.dropboxusercontent.com/u/35081204/Canon%20EOS%205DS%20Medium%20Contrast.dcp

    For the 5 d r: https://dl.dropboxusercontent.com/u/35081204/Canon%20EOS%205DS%20R%20Medium%20Contrast.dcp

    To install on Mac, download and copy them here: Users/USERNAME/Library/Application Support/Adobe/CameraRaw/CameraProfiles /

    To install on Windows, download and copy them here: C:\Users\USERNAME\AppData\Roaming\Adobe\CameraRaw\CameraProfiles\

    Then again run Camera Raw / Lightroom and you will see the name 'Contrast medium' appears as an option in the dropdown menu profile (in the camera Calibration Panel), as an alternative to other profiles.

  • Graphic Flex: how to remove the shadow with CSS?

    Hello!

    How can I remove shadow my columns with CSS?

    I know that I could do:

    <mx:seriesFilters>
      <mx:Array />
    </mx:seriesFilters>
    

    But I'd really only my CSS to control all of the visuals.

    Thank you!

    -Dwayne

    Don't think that you can. Since it is an array, you need to fix in the code. Sorry, Flex is like that, it makes you do a lot of things in the code that should be doable in CSS. But on the side of good news, instead of what you have done you can put this argument in your table tag: seriesFilters = "[]".

  • How to complete the police (not shadow) with color?

    I've been struggling with this for too long. I can't get the main font color space - it will only fill in the grey area. How isolate and fill the white space of main policies? (Please explain in detail, sorry, I'm new to Illustrator):

    paint.png

    I tried a clipping mask (is a little lost there) and filling / race in appearance. If anyone can provide very detailed directions, I would be extremely grateful.

    I did w Hat you explained-, but for some reason any does not apply the color (yellow) - what Miss me?

  • Current width of the page (no Document) and height with JSX

    Hello

    I am trying to create a script that saves all pages in the document and adds the name of its width and its height.

    So far, I managed to get the dimensions of the document to help:

    app.activeDocument.pages.documentPreferences.pageWidth;

    app.activeDocument.pages.documentPreferences.pageHeight;

    It's ok when all pages in the document have the same dimensions (Document preferences).

    However, when I use custom pages that does not work.

    I tried the code below, but does not work either.


    for (i = 0; i < nb; i ++)

    {

    app.activeDocument.pages [i].documentPreferences.pageWidth;

    app.activeDocument.pages [i].documentPreferences.pageHeight;

    }

    I did some research and I don't seem to find all the information about the dimensions of the custom pages.

    Can you please help with that?

    Thanks in advance,

    ISKO

    Main();
    
    function Main() {
        var doc = app.activeDocument,
        pages = doc.pages,
        page, width, height;
    
        for (var i = 0; i < pages.length; i++) {
            page = pages[i];
            width = page.bounds[3] - page.bounds[1];
            height = page.bounds[2] - page.bounds[0];
            $.writeln("Page: " + page.name + " - " + "width = " + width + ", height = " + height);
        }
    }
    
  • Layer &gt; Type &gt; replace all missing fonts with jsx.

    Hi all

    I try to use the layer > Type > command replace all missing fonts from a jsx script. Is this possible?

    Thank you

    Aubrey

    ScriptingListener.plugin records any code for this?

  • Is it possible with JSX to save text to a file?

    I am looking for a way to record log entries generated by JSX script to a text file, from Photoshop and InDesign and Illustrator, as well. There are also discussions on the use of the DataObject class, but these discussions are for a few years, there is nothing on them (that I could find) in documentation of CS6, and nothing does IS semi-automatic. Any ideas? Thank you

    Something like that?

    logInfo((new Date).toString());
    logInfo("This is the first message");
    logInfo("This is the second message");
    
    function logInfo(Txt){
    var file = new File(Folder.desktop + "/ScriptLog.txt");
    file.open("e", "TEXT", "????");
    file.seek(0,2);
    $.os.search(/windows/i)  != -1 ? file.lineFeed = 'windows'  : file.lineFeed = 'macintosh';
    file.writeln(Txt);
    file.close();
    };
    
  • Create and size the width of the path points... With JSX script possible?

    Hello

    I want to points of width of a path of script (for example, to create width marks on a path that can be manually changed by the width tool).

    This same question was asked in 2012:

    A 'Point width' on a PathItem script

    But it seems that it was not possible at the time.

    Is this possible in 2016?

    Thank you!

    M

    I don't think it is available for the script, but you can make a solution of crazy workaround where you write to the file

    C:\Users\{user}\AppData\Roaming\Adobe\Adobe Illustrator 20 Settings\en_US\x64\VariableWidthProfiles

    appropriate channels (pleasure).

    The string will look like a lot to one of the Actions:

    {/ collection7}

    {/Attributes}

    / VariableWidth_ProfileType 0

    / VariableWidth_Distances [22

    3020302e343338393431313730333537333732203120 (0.438941170357372 0 1)

    ]

    / VariableWidth_Widths [38

    302e303837393939373735393936373237203120302e30383739393937373539393637323720 (0.087999775996727 1 0.087999775996727)

    ]

    / CollectionName [14

    57696474682050726f66696c6531 (width Profile1)

    ]

    }

    /canEdit 0

    /canDelete 0

    }

    When the hex-decoded, they show all the necessary info, but I don't know what relates to what.

    Well, let's say if it is possible to write the text and the thing seems refreshed in the drop-down list of variable width (probably does not in this way), you have to apply the stuff to paths if necessary. Then you can write at least one action: the generic action triggered to be recorded by any changes made to the race is the action of 'The Stroke value' which, among other things, can affect the variable name as seen in the screenshot here.

  • How to loop through the layers of the children of a group with jsx?

    Need to change the name of a child layers in a group? How to get there?

    Kind regards

    Dorothy

    What is giving you problems?

    Perhaps this example can help:

    #target photoshop
    var theLayers = collectLayers(app.activeDocument.activeLayer, []);
    alert (theLayers.join("\n"));
    ////// function collect all layers //////
    function collectLayers (theParent, allLayers) {
      if (!allLayers) {var allLayers = new Array}
      else {};
      var theNumber = theParent.layers.length - 1;
      for (var m = theNumber; m >= 0;m--) {
      var theLayer = theParent.layers[m];
      theLayer.name = theParent.name + "_" + m;
    // apply the function to layersets;
      if (theLayer.typename == "ArtLayer") {
      allLayers.push(theLayer)
      }
      else {
      allLayers = (collectLayers(theLayer, allLayers))
    // this line includes the layer groups;
      allLayers.push(theLayer);
      }
      };
      return allLayers
      };
    
  • Shadows on shapes: unexpected results on the output of HTML5

    Shadows are known for questions of course with out HTML5?

    It seems that putting a drop shadow on a SmartShape with stroke and fill of 100% opacity, two shadows are producing; one for the filling and one for the race, in which the shadow of race comes actually on form rather than below (or somehow shines through. Can't if there is no line. Can't get on other objects; e.g. boxes to highlight.

    Is it possible to change this behavior for HTML5 correspond to the Flash?

    Edit Mode:

    Edit Mode.PNG

    Flash power:

    Flash.PNG

    Output of HTML5:

    HTML5.PNG

    Checked and it is a bug. You can submit a bug report to http://www.adobe.com/products/wishform.html

    The only way I can see around him, would be to remove the feature, duplicate the object is directly above the old object, then set the fill to 0%, adding the race again and remove the shadow. It is not ideal, but if you need to use the drop shadow with an object that has a stroke, it's the only way I can see the output file as HTML5 without appearing inside the shape.

  • Flash shadow on the face

    I had an outdoor family session this morning and he was quite grey and dull, so used flash off camera. Unfortunately, I didn't have my soft boxes with me so I got a few shadows on the face of the mother of his son. No matter what photo shop assistants out there who have a method to minimize the impact of the shadow?  You can see the picture here:

    Dropbox - Gatesy - 9.jpg

    I downloaded a view 100% of the affected area, then you can use if you wish. Click to expand and copy.

    OK, looking at the problem, the shadow area is clearly delimited, that is going to be useful.  So I chose the shadow with a quick selection area and improve the contour and it gave a fairly high feather (3.0), I copied while the selection into a new layer.  The advantage of this is that it will simplify the masking.

    Open an adjustment layer curves and hang it on the copied grey area.  Click the icon of the hand and the image on his right cheek, and then drag upward to match the area of shade No.  If the entire image is made, you don't clip the layer curves (the icon on the left)

    You will find that you can solve most of it with the first curves layer, but there are a few deep shadows, so open a new layer of curves, hang it and adjust.  Ignore the first fix getting more light.  Invert the mask layer and paint back with a white soft brush.

    This lets you close enough, but you'll be lucky to get a homogeneous solution at this stage, so that's where we cheat a little.

    Select the top layer and make a layer merged copy (Shift Ctrl Alt e)

    Open the filter Camera RAW and apply some clarification negative to soften skin tones and some of the objects of our edges of curves layer.

    Now select the Patch tool, select one of the objects and drag to a clean skin area.  This will be same on the tonal range in difficulty to remove the artifact.

    Repeat for the other problem areas.

    Negative clarity will have softened the whole image, then add a layer mask and reverse.  Peindre paint in front of the White Lady, and then masked her eyes, teeth, etc. with black.

  • Shadow of a set of objects hidden in PDF export

    Hello

    I have a problem when you exported a PDF interactive display.

    One of my objects on page is a button with a drop shadow and a State of latent defect.  When a hotspot is wound on the button appears and must appear to hover over the page with the shadow below.  When the hotspot is rolled out of the shadows and then the button should disappear.

    Instead, what I get is a button that hides and turns out perfectly, but a shadow that is always on.  I did the shadow with the 'Shadow' FX option.

    No idea why this is happening?

    See you soon,.

    -Steve

    1.JPG2.JPG

    3.JPG

    Thanks for the PDF, dig.

    I can't say how the shadow is separated from the key. But that's what seems to have happened. The only other thing I can think is that shadows are actually created on the buttons in itself, but maybe the group - if there is a group of objects. Or a framework that was created by inadvertence, but was never turned into a button and an active button.

    I can't make my quickie file test failure. I would recommend looking through the layers panel to find any image that the shadow is actually attached to.

    Mike

Maybe you are looking for