Brian Dunning's FileMaker Custom Functions

cf_CMYK2RGB ( Cyan ; Magenta ; Yellow ; Black )

Convert CMYK colour values to a similar RGB values.

  Average rating: 4.1 (41 votes) Log in to vote

Andrew Mallison   Andrew Mallison - Show more from this author

Share on Facebook Share on Twitter

  Sample input:
cf_CMYK2RGB ( 0; 20; 100; 12 )
  Sample output:
224; 180; 0

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

/*
Name: cf_CMYK2RGB ( Cyan; Magenta; Yellow; Black )
Created: Andrew Mallison 5 Nov 2008
http://www.mallison.biz

Purpose: To convert CMYK colour values to a similar RGB equivalent. This can be used to display what this colour would look like on screen in FileMaker.

Parameters:
Cyan = Percentage of Cyan colour 0-100
Magenta = Percentage of Magenta colour 0-100
Yellow= Percentage of Yellow colour 0-100
Black = Percentage of Black colour 0-100

Example:
Field name might be "CMYK_to_RGB_lct" with the following calculation.
Sample Input:
cf_CMYK2RGB ( 0; 20; 100; 12 )
Sample Output:
224; 180; 0

This can then be used to display some text in the colour.

Let
([
Red=MiddleWords ( CMYK_to_RGB_lct ; 1 ; 1 );
Green=MiddleWords ( CMYK_to_RGB_lct ; 2 ; 1 );
Blue=MiddleWords ( CMYK_to_RGB_lct ; 3 ; 1 )
];

TextColor ( "☁" ; RGB ( Red ; Green ; Blue ) )
)
*/

Let([

c = If(Cyan=0;0;Cyan/100);
m = If(Magenta=0;0;Magenta/100);
y = If(Yellow=0;0;Yellow/100);
k = If(Black=0;0;Black/100);

r = 1 - (c * (1 - k)) - k;
g = 1 - (m * (1 - k)) - k;
b = 1 - (y * (1 - k)) - k;

red = Round(r * 255;0);
green = Round(g * 255;0);
blue = Round(b * 255;0)

];

red & "; " & green & "; " & blue

)

 

Comments

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 20 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: