Skip to main content
Known Participant
August 29, 2018
Question

Cambiar de números redondeados a decimales.

  • August 29, 2018
  • 0 replies
  • 779 views

Saludos, soy nuevo en esto y quiero saber como poner en este código que los valores CMYK no me los muestre redondeado ya que donde trabajo necesitan ver los valores en decimales por la precision de los colores, si alguien puede ayudarme con esto convertirlos a decimales le estaré muy agradecido. gracias de antemano.

/////////////////////////////////////////////////////////////////

// Render Swatch Legend v1.3 -- CC

//>=--------------------------------------

//

//  This script will generate a legend of rectangles for every swatch in the main swatches palette.

//  You can configure spacing and value display by configuring the variables at the top

//  of the script.

//   update: v1.1 now tests color brightness and renders a white label if the color is dark.

//   update: v1.2 uses adobe colour converter, rather than rgb colour conversion for a closer match.

//   update: v1.3 adds multiple colour space values based on array printColors.

//>=--------------------------------------

// JS code (c) copyright: John Wundes ( john@wundes.com ) www.wundes.com

// copyright full text here:  http://www.wundes.com/js4ai/copyright.txt

//

// Edits by Adam Green (@wrokred) www.wrokred.com

//

//////////////////////////////////////////////////////////////////

doc = activeDocument,

swatches = doc.swatches,

cols = 6, // number of columns in group

displayAs = "CMYKColor",  //or "RGBColor"

printColors = ["CMYK"], // RGB, CMYK, LAB and/or GrayScale

colorSeparator = " ", // Character used to separate the colours eg "|" output = R: XXX|G: XXX|B: XXX

textSize = 16, // output text size value in points

rectRef=null,

textRectRef=null,

textRef=null,

swatchColor=null,

w=180;

h=180,

h_pad = 10,

v_pad = 10,

t_h_pad = 5,

t_v_pad = 5,

x=null,

y=null,

black = new GrayColor(),

white = new GrayColor()

;

black.gray = 100.00;

white.gray = 0.00;

activeDocument.layers[0].locked= false;

var newGroup = doc.groupItems.add();

newGroup.name = "NewGroup";

newGroup.move( doc, ElementPlacement.PLACEATBEGINNING );

for(var c=2,len=swatches.length;c<len;c++)

{

    var swatchGroup = doc.groupItems.add();

    swatchGroup.name = swatches.name;

    x= (w+h_pad)*(c% cols);

    y=(h+v_pad)*(Math.floor((c+.03)/cols))*-1 ;

    rectRef = doc.pathItems.rectangle(y,x, w,h);

    swatchColor = swatches.color;

    rectRef.fillColor = swatchColor;

    textRectRef =  doc.pathItems.rectangle(y- t_v_pad,x+ t_h_pad, w-(2*t_h_pad),h-(2*t_v_pad));

    textRef = doc.textFrames.areaText(textRectRef);

    textRef.contents = swatches.name + "\r" + getColorValues(swatchColor);

    textRef.textRange.fillColor = is_dark(swatchColor)? white : black;

    textRef.textRange.size = textSize;

    rectRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );

    textRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );

    swatchGroup.move( newGroup, ElementPlacement.PLACEATEND );

}

function getColorValues(c)

{

    if(c.typename)

    {

        if (c.typename == "SpotColor") {

        return getColorValues(c.spot.color);

        };

      

        switch(c.typename)

        {

            case "RGBColor": sourceSpace = ImageColorSpace.RGB; colorComponents=[c.red,c.green,c.blue]; break;

            case "CMYKColor": sourceSpace = ImageColorSpace.CMYK; colorComponents=[c.cyan,c.magenta,c.yellow,c.black]; break;

            case "LabColor": sourceSpace = ImageColorSpace.LAB; colorComponents=[c.l,c.a,c.b]; break;

            case "GrayColor": sourceSpace = ImageColorSpace.GrayScale; colorComponents=[c.gray]; break;

        }

        outputColors = new Array();

        for (var i = printColors.length - 1; i >= 0; i--) {

            targetSpace = ImageColorSpace[printColors];

            outputColors = app.convertSampleColor(sourceSpace, colorComponents, targetSpace,ColorConvertPurpose.previewpurpose);

            for (var j = outputColors.length - 1; j >= 0; j--) {

                outputColors = printColors.charAt(j)+": "+Math.round(outputColors);

                if (j == outputColors.length -1) {

                    outputColors += "\r";

                };

            };

            outputColors = outputColors.join(colorSeparator);

        };

        return outputColors.join("");

    }

    return "Non Standard Color Type";

}

function is_dark(c){

if(c.typename)

{

    switch(c.typename)

    {

        case "CMYKColor":

        return (c.black>50 || (c.cyan>50 &&  c.magenta>50)) ? true : false;

        case "RGBColor":

        return (c.red<100  && c.green<100 ) ? true : false;

        case "GrayColor":

        return c.gray > 50 ? true : false;

        case "SpotColor":

        return is_dark(c.spot.color);

        return false;

    }

}

}

    This topic has been closed for replies.