mbitson / mcg

Material Design Palette/Theme Generator - AngularJS, React, Ember, Vue, Android, Flutter & More!
http://mcg.mbitson.com/
MIT License
630 stars 96 forks source link

Algorithm deviation - cannot reproduce MD palette color? #94

Closed rosskevin closed 4 years ago

rosskevin commented 7 years ago

We are trying to tune our colors, and our designer pointed out that the A range of colors generated is much lighter than the standard palette counterpart.

I went to the online tool and generated the blue range: http://mcg.mbitson.com/#!?mdblue=%232196f3

Based on 2196F3: https://material.io/guidelines/style/color.html#color-color-palette

Upon comparison, it looks like every color is at least slightly off (A* more than others) except the given 500 color:

material_design_theme___palette_color_generator_and_color_-_style_-_material_design_guidelines

Is this a known issue? Are the MD colors hand selected vs generated?

mbitson commented 7 years ago

Hey @rosskevin .

This is a known "issue". A full discussion about this can be found here: https://github.com/mbitson/mcg/issues/19

I have since implemented two algorithms for you to use- you can try out either using the settings panel. Regardless of the color generation algorithm chosen, the palette will not always match the material design colors chosen.

You're exactly right about why- this is because the material design palettes are chosen by hand and are not a consistent progression.

That being said, if you're looking to use a default, official material design color palette you can use the Import button in the nav. Clicking it lists out all of the stock AngularJS Material Design palettes and allows you to import any of them directly into your theme.

For example, clicking import shows you this list: image

If you then click "Blue" you will see the colors match up with your screenshot exactly: image

I am always open to improving the color generation technique- but knowing these are hand-picked palettes makes it very difficult to replicate. Please see the github issue linked to above to see an example of me replicating the progression of one palette exactly, while the same progression breaks other palettes.

Thank you!

rosskevin commented 7 years ago

Thanks @mbitson, we are using custom colors but I figured I would ask the question based on the standard palette. I'll try out the other algorithm on our custom color to see how it changes.

mbitson commented 7 years ago

No problem, @rosskevin - and just a note, I can always add more color generation algorithms if there is something specific about your custom palette you don't like?

I'm not entirely satisfied with either current algorithm, either, so having a particular problem to try and solve with a third algorithm may be what I need to try again.

Is the issue you're having with the A* series colors being too bright? Is there a different issue with the other algorithm option?

Thank you!

rosskevin commented 7 years ago

The A* seem to be far off. We specifically make use of the A200 for links, so I was looking to tweak the palette color when my designer pointed out this difference. Our accent color is in the blue to indigo range, that's why I fell back to the blue standard pallette as a reference point.

I don't have any algorithmic suggestions, but perhaps a feature suggestion:

If a user wants to darken the A range of colors When they click darken Then the A range is regenerated using a darker basis

mbitson commented 4 years ago

As an update for this issue, another color generation algorithm has been added with: https://github.com/mbitson/mcg/pull/105

These options were focused around the A* series of colors, as this issue points out, also.

We will continue to add options until we have a definitive method. Please open a new issue if you have any specifics on how our color generation could be improved.

Thank you everyone!