Persistent color sampler from cameraraw to XMP

The samplers created inside cameraraw plugin don't stick between cameraraw sessions, loosing the color values read before to compare afterwards.
For example, when I open images on photoshop as smart objects using cameraraw and create color samplers, and I re-edit the smart object layer (using cameraraw again) the samplers aren't there any more.
Some times the new color sampler position isn't same anymore and the reading of the color values change. And that betrays the potential of intelligent objects.
XMP would assume the position and the color values, and that could be even read later from photoshop script to pass it to the same color sample tool (but this would be another potential addition not regarding the problem here).
I invite you guys to vote 'Like' on this request, using this link (adobe login):
http://gsfn.us/t/4m13u

OK, I may just be having an extraordinarily stupid day, so bear with me..........
The url's in the previous reply don't work any more - I presume this is because the forums have been reorganized?
But, beyond that - here's what I RECALL doing in the past.......................
In my image, create a color sampler point using the color sampler tool.
Create curve adjustment layer and make that layer the current layer.
Go back to my image and press ctrl+shift and click on the color sample.
This would put the rgb values (puts a point on the curve) from the color sample on the red, green, and blue channels of the curves layer.
After reading the last couple replies, I did the same thing.  And I went "back to my image" and clicked on
the color sample.  I'm STILL not getting the values on my curve layer......
What am I missing 'cause this can't be as difficult as I'm making it.........?

Similar Messages

  • Different color sample from eyedropper with linked image

    I have an RGB image Adobe RGB 1998 Embedded photoshop file linked into an RGB illustrator document. Illustrator color settings are set to Adobe RGB 1998. Eye dropper is set to point sample. When photoshop linked file is eye drop sampled, the RGB numbers that are read with the eye dropper are not producing the same color that the Photoshop file has in it's native app. When the same task is tried in Indesign, the numbers read perfectly. What is happening in illustrator? Same color settings in all three applications.

    I don't use Lightroom, but on the Photoshop display side
    You need to determine how your apps deal with tagged and untagged images, especially what Default profile they apply-assume-assign when the profile is absent, stripped and/or ignored.
    If a thumbnail in OSX Finder shows the problem, that is a big clue because Finder thumbnails are not color managed (Finder is assuming Monitor RGB).
    I recommend going here
    www.gballard.net/photoshop/pdi_download/
    and downloading the iPhotoTESTfolder.zip
    That series contains tagged and untagged verisions of AppleRGB, AdobeRGB, sRGB, ProPhotoRGB.
    First, look at the image icons in finder (they are all over the place).
    Next, drag the download folder into Bridge and observe the thumbnail colors (Bridge assumes sRGB on untagged images)...
    +++++++
    If your problem apps are displaying color the same as image icons in Finder, then either your app is not colormanaged or the file does not contain an embedded profile.
    +++++++
    PS:
    OSX Safari is a great app for testing JPEG files because it will either read an embedded profile or it will apply the default monitor profile (exactly where I am pointing you to) -- just drag your icon into an open Safari window...

  • 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;

  • Unexpected behavior with Color Sampler Tool

    Hi,
    I have a small AppleScript that used the Color Sampler Tool to place two color samples on an image. I am able to read back the (r,g,b) color values for these color samples, but the results in the script do not always match the info windows. It looks like Sample Size is always Point Sample when I read back the values in the script, even if the Sample Size is currently set to something like 11 x 11 Average.
    I am running Photoshop CS3 Extended on a MacBook Pro. A copy of my script is attached to this post.
    Does anyone know of a way to get the script to return the values using specific sample size settings?
    Thank you
    -- Bennett

    Wow, that's too bad. Does anyone have a suggestion on how I can do the following then?
    A. Determine what the current sample size is in the toolbar.
    B. Compute the correct average values using a combination of the position information from the Color Sample and the sample size from A.
    By the way, my eventual goal is to build this functionality into an Automation plug-in, so if you have ideas that are not possible in AppleScript but would work in C/C++ I would be interested in learning about those as well.
    Thanks for your help.
    Cheers
    -- Bennett

  • My black Box doesnt match the colour of the image it is sampled from when printed, suggestions?

    I have a black image covering half a page whilst placed next to it is a black box which has been sampled from the colour of the image, the CYMK are the same yet when printed the box comes out a different shade of black. suggestions?

    There are a couple of things that could be going on, and as an aside, trying to match a solid background to a sampled area in an image is seldom successfule as there is too much variability in the actual color in most images.
    The first possible issue is that the sample you are taking could be inaccurate. Are you sampling in ID or in Photoshop? You mentioned CMYK, and I don't believe ID will sample the CMYK in a placed image, but uses the preview instead. If you are sampling in Photoshop you are either sampling an average of the pixels in a square area, or a single pixel, depending on the eyedropper settings, and either choice is likely not to be truly representative in many cases. A further complication is if you are sampling an image that has a differnt color profile from the working space in ID.
    The other big possibility is that your printer uses what is know as a dual-layer  or CT-Line (for continuous Tone/Line art) processor and handles the raster image differently from the vector object created in ID. Theres a pretty good explanation of this in InDesignSecrets » Blog Archive » Eliminating YDB (Yucky Discolored Box) Syndrome

  • Cannot get accurate eyedropper sample from imported graphic

    I am working in illustrator CS5 set to CMYK which my imported photoshop layered file is also. When I sample a color from the imported psd file, it will not accurately pick it up. I have to write down the numbers in photoshop and hand apply them in illustrator. This is not the way it used to work so I think I have something set incorrectly. Does anyone know what I am doing wrong? When I double click on the eyedropper tool, the 2 appearance boxes are unchecked. Thank you.

    You were probably SHIFT clicking the eyedropper tool to get a color sample.
    The Photoshop method is more accurate as you can set the sample radius. Embedding the image gets you almost perfect values, for some reason my tests show that to be off by a very minor 1/10 %, but much much  better than not embedding.
    The values are supposed to be 15m 10015m 0Y 5K form a flat tint in Photoshop.
    NOT EMBEDDED
    SHIFT SAMPLE FROM EMBEDDED

  • Problem with Color Sampler Points

    I'm using PSCS4 on a Mac Pro, and recently upgraded to Snow Leopard 10.6.3 from Leopard 10.5.8.
    I regularly use color sampler points in Photoshop when adjusting curves. I seem to be having problems getting a sampler point to show up in the info palette when shift-clicking with the eye-dropper tool, or directly using the color sampler tool. I've also tried shift-clicking from within the Threshold command, but the points I click just don't seem to take a sample and show up. I never had this problem before. I'm bringing RAW, sRGB and ARGB digital images into PS from Bridge, and have tried 8 and 16 bit.
    After trying for awhile, sometimes it just suddenly starts working again. For instance, I was writing this post after not being able to get PS to take samples. Then I went back and forth between the internet and PS, and it started working all of a sudden. Very odd.
    Anyone else seeing this? Am I doing something wrong? Any workarounds?
    Thanks, Lou

    Thanks, Mark. You may be right, and I will try it.
    I have my workspace setup saved, but I presume it is lumped in with all the other preferences. Is there a way to "Export" my saved workspace setup from Photoshop, so after I trash my preferences, I can reimport at least my workspace? I didn't see the ability to do that, but it may be hiding somewhere. I like my current dual monitor setup and prefer not to have to 'redo' it from scratch.
    Thanks,
    Lou

  • In Katie's Cafe tutorial, how did she create her color sample?

    In the Adobe Muse tutorial for Katie's Cafe.  How was the color sample created.  She just had us drag it onto our Muse document, but how was the color palette created initially so that it can be used in your Muse document?
    Thanks!

    I think I figured out the solution to the problem people are having.  It has to do with the order that you do things when you try to bring in colors from somewhere else.  If you try to just take colors from somewhere else (ie copy and past them) muse will not recognize them as swatches and even if you take the colors and put them in rectangles in muse and save them to a library muse will still not recognize them as swatches.  What you have to do to create a color set like she did in the tutorial is as follows....
      Copy/Paste your colors into muse
      Make rectangle objects in muse that contain the colors
      Open up the swatches window and click add swatch
      Select one of the colors you added - click ok
      Repeat this process for all the color rectangles you have made
    Now you can use the selection tool to select all the colors you made and create a library with them that will work.
    The issue people seem to be having (and that I myself had) is that when you just copy/paste colors into muse it does not automatically make a swatch for the new color.  When she uses the swatch library in the demo it does add the swatches automatically.  This happens because she went through the process of creating the swatches in muse first (which you are never shown) and not just copy/pasting the colors from some other program.    

  • Color sampler onto curve layer?

    I believe I knew how to do this but the brain cell that had the information must have died......
    I BELIEVE I used to take the color sampler and put a sample on my image. Then I created a curves layer. AND, by holding some combination of shift/ctrl/alt and clicking the color sample, the values would transfer to the red,green, and blue layers of my curves layer. From there I could make adjustments...
    In CS4 I'm trying to do this, and I can't get it to work... It isn't the same as using the eyedroppers on the curve OR the hand above the eyedroppers. It actually copied the color sample values onto the individual color channels..... How do I do this in CS4?

    OK, I may just be having an extraordinarily stupid day, so bear with me..........
    The url's in the previous reply don't work any more - I presume this is because the forums have been reorganized?
    But, beyond that - here's what I RECALL doing in the past.......................
    In my image, create a color sampler point using the color sampler tool.
    Create curve adjustment layer and make that layer the current layer.
    Go back to my image and press ctrl+shift and click on the color sample.
    This would put the rgb values (puts a point on the curve) from the color sample on the red, green, and blue channels of the curves layer.
    After reading the last couple replies, I did the same thing.  And I went "back to my image" and clicked on
    the color sample.  I'm STILL not getting the values on my curve layer......
    What am I missing 'cause this can't be as difficult as I'm making it.........?

  • Color sampler in ActionScript 1

    Hi everyone,
    I am trying to create a color sampler in AS1. The reason why
    I am using AS1 is that I develop for Handhelds Pocket PCs where the
    FP7 is so bad that it cannot be used properly. As a result, our
    only option if FP6 and AS1.
    Basically, I am trying to find a way to get the RGB value
    color from wherever the mouse goes.
    Could someone guide me a little on which solution I should
    use ?
    Thanks

    When you add an adjustment layer, the layer mask is automatically active. You need to activate the pixel (image) layer by clicking on it in the Layers panel.

  • OS-wide color sampling glitch

    When I try to sample colours using Photoshop's colour sampler, it retrieves the wrong shade (quite the wrong shade, in fact). I figured this was a glitch in Photoshop, but I tried using the Apple colour sampler and found it had the same problem. Finally, I downloaded the colour sampler at http://fadingred.org/icolors/ and found that it too had the same problem.
    Obviously, the problem is deeper than I initially thought.
    Before making this thread I did a search and found this archived thread where two people cite the same glitch:
    http://discussions.apple.com/thread.jspa?messageID=2547129
    The last post there even has a video of the problem in action.
    The question is now what do I do? This problem came up a long while back, but now that I have a big project underway, one in which precise colour is absolutely critical, it's imperative that I have the ability to sample them from the screen. If I don't have Applecare, is there any route I can take to get support for what seems like an enormous, fundamental problem in the operating system? I imagine it affects some operations I'm unaware of as well.
    And before anyone says anything about color profiles, this problem occurs with any color profile I use (be it Generic, Cinema Display, or our default of sRGB IEC61966-2.1).
    Thanks in advance for any help anyone can offer.

    After a lot of mucking about, Adobe and I figured out what my problem was. I hope this solves your issue as well.
    I have been exporting a lot of my art lately as png and jpg using the "save for web" dialog. This dialog is the same for both CS1 and CS2. Now, here is the "AHA!" part. In the "Save for web dialog", note the "fly-out/popup" at the top of the window and just to the left of the "Save" button. If you mouse over it (without clicking) it will state "Preview Menu". Sounds non-descript eh? Well click on that and out pops a series of Color palette options. UGH nice way to hide an integral part of the workflow Adobe. Pick "Standard Macintosh Color". Now all of your colors that you export as png or jpg should match precisely using the "Save for web" dialog.
    Screenshot: http://medulla.ambrosiasw.com/~marcus/images/screenshots/cgtalk/pshopbaggui.jpg
    If this doesn't work for you... then you need to start with the lowest common denominator. Open your Apple preferences, click on "Displays" and then click on the "color" tab. Select "Adobe RGB (1998)". Close the prefs. Open Photoshop, goto the "Edit" menu and select "color settings". Form the "Settings" pop up, select "Color Management Off". Now below in "Working Spaces" Under RGB select the same exact matching profile "Adobe RGB (1998)". Then move down to "Color Management Policies" go to RGB and select "Covert to Working RGB" from the popup. Reboot photoshop. Your settings should now work and when you sample from images in other applications they should match or be off by a factor of "1" which is not perceivable to the human eye.
    If the above works for you (this is a quick way to test) then all is good. Now go back and create a custom profile that works for your setup and then apply the same approach to the above to have consistent color throughout your workflow. Make your adjustments to the color settings in Photoshop one at time and be sure to keep checking the color matching as you go along. 
    I hope this helps!
    PowerMac Dual G5   Mac OS X (10.4.6)  

  • Taking photos with my iPhone5c color shifts from photo to square

    When taking photos with my iphone 5c ios7 I notice the color shifts from photo to square. The color changes are noticible. I have auto focus on, flash off, on both formats I click on the image to get exposure and focus and take the photo.

    Hi Rick,
    Thanks for visiting Apple Support Communities.
    If the colors look different when you take pictures in "photo" and "square" mode, make sure that there are no filters being used:
    Apply a filter:  (iPhone 4s or later) Tap the filter icon to apply different color effects, such as black & white. To turn off a filter, tap , then tap None. You can also apply a filter later, when you edit the photo. See Edit photos and trim videos.
    If you are seeing unexpected results when taking pictures with your iPhone 5c, these troubleshooting steps can help:
    Camera isn't functioning or has undesired image quality
    Ensure the camera lens is clean and free from any obstructions. Use a microfiber polishing cloth to clean the lens.
    Cases can interfere with the camera and the flash. Try gently cleaning the lens with a clean dry cloth or removing the case if you see image or color-quality issues with photos.
    Try turning iPhone off and then back on.
    Tap to focus the camera on the subject. The image may pulse or briefly go in and out of focus as it adjusts.
    Try to remain steady while focusing:
    Still images: Remain steady while taking the picture. If you move too far in any direction, the camera automatically refocuses to the center.
    Note: If you take a picture with iPhone turned sideways, it is automatically saved in landscape orientation.
    Video: Adjust focus before you begin recording. You can also tap to readjust focus while recording. Exiting the Camera application while recording will stop recording and will save the video to the Camera Roll.
    Note: Video-recording features are not available on original iPhone or iPhone 3G.
    If your iPhone has a front and rear camera, try switching between them to verify if the issue persists on both.
    You can find the article with these steps here:
    iPhone: Hardware troubleshooting
    http://support.apple.com/kb/TS2802
    All the best,
    Jeremy

  • Command: extract color pallette from image

    Hiyas,
    I remember being able to run a command, proably an extension,
    to extract all the colors in an image, and paste them nicely in a
    what looked like a color sample format in a new image. Essentially
    it was describing all the colors in the image, with a square of
    color, along with the hex values of each color.
    I can't remember what this command is, or where it can be
    found.
    Can you help?
    Thanks,
    Steve

    Doigy wrote:
    > Hiyas,
    >
    > I remember being able to run a command, proably an
    extension, to extract all
    > the colors in an image, and paste them nicely in a what
    looked like a color
    > sample format in a new image. Essentially it was
    describing all the colors in
    > the image, with a square of color, along with the hex
    values of each color.
    >
    > I can't remember what this command is, or where it can
    be found.
    >
    > Can you help?
    >
    > Thanks,
    >
    > Steve
    >
    Commands > Web > Create Shared Palette will create a
    color table from a
    folder of images
    Jim Babbage - .:Community MX:. & .:Adobe Community
    Expert:.
    Extending Knowledge, Daily
    http://www.communityMX.com/
    CommunityMX - Free Resources:
    http://www.communitymx.com/free.cfm
    .:Adobe Community Expert for Fireworks:.
    news://forums.macromedia.com/macromedia.fireworks
    news://forums.macromedia.com/macromedia.dreamweaver

  • Spot Healing Brush sampling from unwanted region -- below the target area!

    Hello everyone,
    I have some text in a speech bubble I'm trying to get rid of.  So far, I've filled the white characters with background color.  To smooth the character outlines and to blend the somewhat gradient color, I'm trying to use the Spot Healing Brush, but it is not doing the job at hand because it is acting like the standard Healing Brush, sampling from a different region even though I"m not ALT clicking first.
    What am I missing here?  I'm really puzzled with the Spot Healing Brush misbehavior.
    Thanks!
    -Ron

    Without seeing the image and brush behaviour we need to guess, plus we don't know what version of Photoshop you are using.
    Take a look at the Options bar.  If you have 'Proximity Match' checked, tray changing it to Content aware.  Is Sample all layers checked, and could it be picking up information from an underlying layer?  Hmmm...  I'm getting too tired to think clearly (1am here) so that'll do for now.

  • CODE: A simple desktop color sampler and JColorChooser Panel based on it.

    // ColorSamplerColorChooserPanel.java
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Font;
    import javax.swing.Icon;
    import javax.swing.JColorChooser;
    import javax.swing.JFrame;
    import javax.swing.UIManager;
    import javax.swing.colorchooser.AbstractColorChooserPanel;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    * A simple ColorChooserPanel for JColorChooser based on ColorSampler.
    * @author Sandip V. Chitale
    * @version 1.0
    * @see ColorSampler
    public class ColorSamplerColorChooserPanel
         extends AbstractColorChooserPanel
         implements ChangeListener
         private boolean isAdjusting = false;
         private ColorSampler colorSampler;
         public ColorSamplerColorChooserPanel() {
              colorSampler = new ColorSampler();
              colorSampler.addChangeListener(this);
         public void stateChanged(ChangeEvent ce) {
              getColorSelectionModel().
              setSelectedColor(colorSampler.getSelectedColor());
         // Implementation of AbstractColorChooserPanel
         * Return display name.
         * @return a <code>String</code> value
         public String getDisplayName() {
              return "Color Sampler";
         * Update the chooser.
         public void updateChooser() {
    if (!isAdjusting) {
    isAdjusting = true;
                   colorSampler.
                   showColor(getColorSelectionModel().getSelectedColor(), false);
    isAdjusting = false;
         * Build the chooser panel.
         public void buildChooser() {
              setLayout(new BorderLayout());
              add(colorSampler, BorderLayout.NORTH);
         * Return small icon.
         * @return an <code>Icon</code> value
         public Icon getSmallDisplayIcon() {
              return null;
         * Return large icon.
         * @return an <code>Icon</code> value
         public Icon getLargeDisplayIcon() {
              return null;
         * Return font.
         * @return a <code>Font</code> value
         public Font getFont() {
              return null;
         * <code>ColorSampler</code> test.
         * @param args a <code>String[]</code> value
         public static void main(String[] args) {
              try {
                   UIManager.
                   setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
              } catch (Exception e) {
              final JFrame frame = new JFrame("Color Sampler Color Chooser");
              JColorChooser colorChooser = new JColorChooser();
              colorChooser.addChooserPanel(new ColorSamplerColorChooserPanel());
              frame.setContentPane(colorChooser);
              frame.pack();
              frame.setVisible(true);
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // ColorSampler.java
    import java.awt.AWTException;
    import java.awt.Color;
    import java.awt.Cursor;
    import java.awt.Font;
    import java.awt.Point;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.datatransfer.StringSelection;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    import javax.swing.BoxLayout;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.EventListenerList;
    import javax.swing.event.ChangeListener;
    * A simple desktop color sampler. Drag mouse from the color sample
    * label and release mouse anywhere on desktop to sample color at that
    * point. The hex string for the color is also copied to the system
    * clipboard.
    * Note: Uses java.awt.Robot.
    * @author Sandip V. Chitale
    * @version 1.0
    public class ColorSampler extends JPanel {
         private JLabel sampleColorLabel;
         private JLabel colorLabel;
         private JTextField colorValueField;
         private Robot robot;
         * Creates a new <code>ColorSampler</code> instance.
         public ColorSampler() {
              setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
              setBorder(BorderFactory.createEtchedBorder());
              Font font = new Font("Monospaced", Font.PLAIN, 11);
              sampleColorLabel = //new JLabel(new ImageIcon(getClass().getResource("ColorSampler.gif")), JLabel.CENTER);
              new JLabel(" + ", JLabel.CENTER);
              sampleColorLabel.setBorder(BorderFactory.createEtchedBorder());
              sampleColorLabel
              .setToolTipText("<html>Drag mouse to sample the color.<br>" +
                                  "Release to set color and save hex value in clipboard.");
              add(sampleColorLabel);
              colorValueField = new JTextField(9);
              colorValueField.setFont(font);
              colorValueField.setEditable(false);
              colorValueField.setBorder(BorderFactory.createLoweredBevelBorder());
              add(colorValueField);
              colorLabel = new JLabel(" ");
              colorLabel.setFont(font);
              colorLabel.setOpaque(true);
              colorLabel.setBorder(BorderFactory.createEtchedBorder());
              add(colorLabel);
              showColor(colorLabel.getBackground(), false);
              try {
                   robot = new Robot();
              } catch (AWTException e) {
                   System.err.println(e);
              sampleColorLabel.addMouseListener(
                   new MouseAdapter() {
                        public void mousePressed(MouseEvent me) {
                             SwingUtilities.getWindowAncestor(ColorSampler.this)
                             .setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
                        public void mouseReleased(MouseEvent me) {
                             Point p = me.getPoint();
                             SwingUtilities.convertPointToScreen(p, me.getComponent());
                             sampleColorAtPoint(p, false);
                             SwingUtilities.getWindowAncestor(ColorSampler.this)
                             .setCursor(Cursor.getDefaultCursor());                         
              sampleColorLabel.addMouseMotionListener(
                   new MouseMotionAdapter() {
                        public void mouseDragged(MouseEvent me) {
                             Point p = me.getPoint();
                             SwingUtilities.convertPointToScreen(p, me.getComponent());
                             sampleColorAtPoint(p, true);
                             SwingUtilities.getWindowAncestor(ColorSampler.this)
                             .setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
         public Color getSelectedColor() {
              return colorLabel.getBackground();
         public void setSelectedColor(Color color) {
              if (color.equals(getSelectedColor())) {
                   return;
              showColor(color, false);
         public String getSelectedColorString() {
              return getHexStringOfColor(getSelectedColor());
         public void sampleColorAtPoint(Point p, boolean temporary) {
              showColor(robot.getPixelColor(p.x, p.y), temporary);
         void showColor(Color color, boolean temporary) {
              colorLabel.setBackground(color);
              colorValueField.setText(getHexStringOfColor(color));
              colorValueField.selectAll();
              if (!temporary) {
                   Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
                        new StringSelection(getHexStringOfColor(color)),null);
                   fireStateChanged();
         private String getHexStringOfColor(Color c) {
              int r = c.getRed();
              int g = c.getGreen();
              int b = c.getBlue();
              String rh = Integer.toHexString(r);
              if(rh.length() < 2) {
                   rh = "0" + rh;
              String gh = Integer.toHexString(g);
              if(gh.length() < 2) {
                   gh = "0" + gh;
              String bh = Integer.toHexString(b);
              if(bh.length() < 2) {
                   bh = "0" + bh;
              return ("#"+rh+gh+bh).toUpperCase();
    * Only one <code>ChangeEvent</code> is needed per model instance
    * since the event's only (read-only) state is the source property.
    * The source of events generated here is always "this".
    protected transient ChangeEvent changeEvent = null;
    protected EventListenerList listenerList = new EventListenerList();
    * Adds a <code>ChangeListener</code> to the model.
    * @param l the <code>ChangeListener</code> to be added
    public void addChangeListener(ChangeListener l) {
              listenerList.add(ChangeListener.class, l);
    * Removes a <code>ChangeListener</code> from the model.
    * @param l the <code>ChangeListener</code> to be removed
    public void removeChangeListener(ChangeListener l) {
              listenerList.remove(ChangeListener.class, l);
    * Returns an array of all the <code>ChangeListener</code>s added
    * to this <code>DefaultColorSelectionModel</code> with
    * <code>addChangeListener</code>.
    * @return all of the <code>ChangeListener</code>s added, or an empty
    * array if no listeners have been added
    * @since 1.4
    public ChangeListener[] getChangeListeners() {
    return (ChangeListener[])listenerList.getListeners(
                   ChangeListener.class);
    * Runs each <code>ChangeListener</code>'s
    * <code>stateChanged</code> method.
    * <!-- @see #setRangeProperties //bad link-->
    * @see EventListenerList
    protected void fireStateChanged()
    Object[] listeners = listenerList.getListenerList();
    for (int i = listeners.length - 2; i >= 0; i -=2 ) {
    if (listeners[i] == ChangeListener.class) {
    if (changeEvent == null) {
    changeEvent = new ChangeEvent(this);
    ((ChangeListener)listeners[i+1]).stateChanged(changeEvent);
         * <code>ColorSampler</code> test.
         * @param args a <code>String[]</code> value
         public static void main(String[] args) {
              final JFrame frame = new JFrame("Desktop Color Sampler");
              frame.setContentPane(new ColorSampler
              frame.pack();
              frame.setVisible(true);
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    Hi vg007, what version LabVIEW are you using? I found an example in the NI Example Finder  (LabVIEW 2014) that might be helpful to accomplish what you are trying to do. In LabVIEW navigate to Help >> Find Examples.
    In the Example Finder under the 'Browse' tab go to:
    Analysis, Signal Processing and Mathematics >> Signal Processing >> Edge Detection with 2D Convolution.vi
    Robert S.
    Applications Engineer
    National Instruments
    Attachments:
    Edge Detection with 2D Convolution.vi ‏238 KB

Maybe you are looking for