gu-fan / colorv.vim

edit color easy
http://www.vim.org/scripts/script.php?script_id=3597
135 stars 12 forks source link

Feature request: better fg/bg contrast #19

Open ipkiss42 opened 10 years ago

ipkiss42 commented 10 years ago

Hi,

I am switching from chrisbra/color_highlight to ColorV, because ColorV has many more cool features. However, there is one minor annoyance: when displaying color names (e.g. with :ColorVPreview), the contrast between the fg and the bg colors is not always very readable.

For example, compare the highlighting of #ff014b between ColorHighlight and ColorV. ColorHighlight uses a "pure" white, whereas ColorV has less contrast.

So what about providing (possibly as an option) a stronger contrast between the fg and bg colors?

gu-fan commented 10 years ago

well , I'm using a simple algorithm to process faster for generating fb/bg. maybe I should read the color_highlight's code to find how to improve it.

sashahart commented 8 years ago

By default, chrisbra/Colorizer just chooses black or white using

r*30 + g*59 + b*11 > 12000

(See ~ Colorizer/autoload/Colorizer.vim:1487).

I like ColorV's sophisticated coloring. But maybe ColorV can just have an option to choose black or white, for users who prefer maximum contrast.

gu-fan commented 8 years ago

well, Don't have much time recently to get this small change.. any pull requests are welcome

sashahart commented 8 years ago

I made an implementation for s:prev_list() which functions similarly to Colorizer, with a threshold at 777777.

-        let hi_fg = b:view_area==1 ? hex : s:rlt_clr(hex)
+
+        if b:view_area == 1
+            let hi_fg = hex
+        elseif g:colorv_preview_bw
+            let [y,i,q]=colorv#hex2yiq(hex)
+            " y = 47 for #777777, which should be middle gray.
+            let hi_fg = (y < 47) ? "#ffffff" : "#000000"
+        else
+            let hi_fg = s:rlt_clr(hex)
+        endif

But after trying it more, I don't like it. It badly distorts my perception of brightness. For example, 737373 looks much brighter than 787878 and even AAAAAA because of the selection of a white fg for the darker background. To me, it is so bad I would not even merge the option. My opinion is not important, but I don't like the feature enough to put my name on the commit. So if somebody else wants it, they can use it or come up with another solution.

gu-fan commented 8 years ago

Fine~ Anyway , it's nice of you to explore this.