PDA

View Full Version : Making a new library in the color picker?



Ron Schatz
08-15-2017, 06:49 PM
So, how do you translate a rgb # to the color pickers Col #?

Benjamin Moore has a new color set (Affinity® Color Collection) AF100,AF105...........

I looked in text string of an exported set and see many colors, here is one;
Des "BM AC-5 - Springfield Tan"
Col 0.74901962 0.65098041 0.52549022
I can see number values are the color but how translate to a rgb # ___,___,___

I have downloaded BM's auto-cad platelet,
I have a number and name with a rgb number string, so I could go old school manually readjust the list and import it into the color picker, but how do you translate the rgb # to the color pickers Col #?

PS. What happened to Jovian?
Having paint lists in the software for the past 8 or so years has saved much time and makes me look good, " just give me your paint number, I have the list right here,Thanks"

Kryslin
08-15-2017, 11:07 PM
Under Settings on the Color Picker Panel, choose "Float" for display option - this will make things easier. Your R, G, and B values should now match up, and you can enter them as is.

As far as what happened to Jovian... It became the Lightwave color picker. You can use the Jovian color libraries with the Lightwave color picker, You just have to get them in the right directory, and change the extension on the file, and LW's color picker picks them right up. I like having the FederaL Standard colors available, myself.

MonroePoteet
08-15-2017, 11:50 PM
RGB values are integers from 0 to 255 to fit into 3 bytes (4 bytes if an alpha channel is included), but the LW color library stores them in floating point between 0.0 and 1.0. To convert floating to RGB, multiply by 255. To convert the integer values to floating: ((1.0 * nValue) / 255.0) for each of the R,G and B integer values.

mTp

Ron Schatz
08-16-2017, 09:03 AM
RGB values are integers from 0 to 255 to fit into 3 bytes (4 bytes if an alpha channel is included), but the LW color library stores them in floating point between 0.0 and 1.0. To convert floating to RGB, multiply by 255. To convert the integer values to floating: ((1.0 * nValue) / 255.0) for each of the R,G and B integer values.

mTp

OK but, So taking LW exported BM AC list and Benjamin Moore's color palette AC list, (The same list)
I sampled 3 random color rgb values and found I needed to multiply by 258.1 to get with in .2 of the 256 value in the old list Matt made.

So I need ask Matt what source did he use for original he made in 09, then try to update the paint companies current lists.

It seems most have a newer color sets these days, my designers and architects are giving me numbers that are getting harder to find

MonroePoteet
08-16-2017, 11:24 AM
If the ACB file has RGB values that max out at 255, then you'd have to use the formula I provided earlier to calculate the correct floating point equivalent. Otherwise, pure white (255,255,255) going through the formula and then the inverse using 258.1 would result in (258.1,258.1,258.1), and 258.1 won't fit into a single byte.

I think you can easily confirm this hypothesis by choosing any entry from the ACB file, converting the RGB to floating using the formula I provided, cut-n-pasting (or typing) the values into the Color Picker with the format set to Float (as suggested by Kryslin), then setting the options back to Integer. For example, if I download the BenjaminMoore_Affinity_en-us.acb file, open it in Notepad (it's XML, so text based), and picking a "random" color:

Gardenia</colorName><RGB8><red>244</red><green>241</green><blue>234</blue></RGB8></colorEntry><colorEntry><colorName>AF-15

244 / 255 = .9569
241 / 255 = .9451
234 / 255 = .9176

which when I do the cut-n-paste into Color Picker as described shows RBG(244,241,234) as I expected.

The 258.1 is a large enough discrepancy I don't think it's just a rounding error, or a Float-32 (binary32) imprecision error. Perhaps Benjamin Moore changed the color palette since '09?

mTp

MonroePoteet
08-16-2017, 11:30 AM
From the Americas Colors Collection (BenjaminMoore_AmericasColors_en-us.acb):

<colorEntry><colorName>AC-5 Springfield Tan</colorName><RGB8><red>193</red><green>168</green><blue>136</blue></RGB8></colorEntry>

193 / 255 = .7569
168 / 255 = .6588
136 / 255 = .5333

Which ColorPicker shows as RGB(193,168,136) as expected.

mTp

Ron Schatz
08-16-2017, 12:02 PM
Yes, I get that
But your using one source, BM's color spec.
I'm thinking to open some of the other lists and compare LW's to the other company pallet lists.

but for now I need to green up the glass in this warehouse job and find a current 4door maserati to put in the parking lot
Thanks

DuneBoy
08-16-2017, 03:28 PM
Doing the integer to float conversion isn't needed. Internally all the values are stored as floats. So if you've already got values as integers just make sure you're in Integer mode (in the settings or toggle it via the 'f' key), then enter them as-is.

The color picker isn't limited to single-byte values: 255 (1.0), since everything is internally floats, you can enter 555, 867, 5309 (internally 2.1765, 3.4, 20.8196). Depending on the context, that would simply be a super bright blueish color (on a surface, with GI enabled, it would emit light).

As for why colors might not be matching as expected (in values or appearance), that could be due to MANY different variables. Monitor calibration aside, color conversions between systems is an imprecise art. Involving things like Reference White Points, Standard Illuminants, and Gamma Curves.

The Color Picker, and nearly everything else on a computer, work in an Additive color system. Red, Green, Blue combine to make white. Any color from outside a computer (that's not a light source's color), is going to be in a Subtractive system. Red, Yellow, Blue combine to make black. Converting between those two systems is a huge guessing game. It's why Photoshop has so many settings for color/printer profile management. To make the Additive colors you see on screen, print out as close as possible with the Subtractive dyes/pigments used for printing. Going from a physical color (RYB) to a digital color is going to be impacted by the equipment, lighting conditions, calibrations, etc, and then the algorithms used to translate the color data.

It's because of these two systems (RGB-RYB) that the Color Picker's color wheel includes the toggle to switch between the two. Since a traditional color wheel would be pigment oriented and thus RYB.

The short version is to aim for what looks close enough, because there's too many unknowns to make any conversion 100% correct.

MonroePoteet
08-16-2017, 04:40 PM
Here's a quick Windows utility I wrote to convert the ACB (AutoCAD) file format to LW's LCL format. I've only tested it on the ACB files downloaded from here:

https://www.benjaminmoore.com/en-us/architects-designers/download-benjamin-moore-color-palettes

so it may not be very generalized for other ACB files from other sources.

I think it's usage is really straightforward:

1) run the .EXE
2) select the input ACB file using the ... browse button
3) the default output file name will be the ColorBook's BookName from the ACB file and the same location
4) there's a display of the content parsed from the ACB file below
5) pick an alternate output using the ... brows button on the Output File
6) press Convert to convert to the LCL format

You can then use the Color Picker's Import to read the LCL file. I created a new Benjamin Moore top-level Library, then imported the various LCL's into that.

Give it a try, and good luck!

mTP

MonroePoteet
08-17-2017, 09:16 AM
Here version 2.0 of the ConvertACBtoLCL utility, fixing a problem with line terminators in the ACB file. I've tested it on Sherwin Williams ACB and PPGVoiceOfColor ACB files. If someone finds an ACB file where it doesn't work, please post a pointer and I'll try to debug it.

mTp

Ron Schatz
08-17-2017, 02:28 PM
Here version 2.0 of the ConvertACBtoLCL utility, fixing a problem with line terminators in the ACB file. I've tested it on Sherwin Williams ACB and PPGVoiceOfColor ACB files. If someone finds an ACB file where it doesn't work, please post a pointer and I'll try to debug it.

mTp

What's the best way to run this in W10, I have Flags popping up all over, I thought I had 10 under control, Ha!
137700

MonroePoteet
08-17-2017, 04:04 PM
A quick Google search on that error shows this webpage:

http://www.thewindowsclub.com/windows-cannot-access-the-specified-device-path-or-file

It appears that an EXE downloaded from the Internet is "blocked" by default by W10, and you have to explicitly enable it using the instructions documented in that page under "3]":


Right click on the EXE and select Properties
Under the General tab look toward the bottom for:

This file came from another computer and might be blocked to help protect this computer.
Click the Unblock button to allow it to run


If that doesn't work, try the other options on that webpage.

mTp

Ron Schatz
08-18-2017, 10:48 AM
Thanks, It was the newer Avast software that blocked your exe, it's 2 weeks old, still learning the limits.

Oh the behr paint company (homedepot) Autocad pallets are an .adsklib file. I'm going to call them next week to make adb file.

MonroePoteet
08-18-2017, 03:37 PM
Be sure to ask for an *ACB* file, not an *ADB* file if you want to use the utility. ACB stands for Adobe Color Book.

mTp