本文介绍了如何获得两种颜色之间的颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!


  • 将每个颜色字符串转换为整数,明确指定您正在解析表示数字。


    • 例如(15,29,3E)变成(21,41,62) br />


  • 计算平均值(r',g',b')=((r1 + r2)/ 2, g1 + g2)/ 2,(b1 + b2)/ 2。


    • 例如((21 + 1)/ 2,(41 + 37)/ 2,(62 + 73)/ 2)= ,67)
      $ b $bÚ


  • 将它们再次转换为字符串,明确指定您正在生成两位数字十六进制表示(必要时,填充为零)。


    • 例如(11,39,67) - >(0B,27,43)




  • 连接一个尖锐字符,后跟3个字符串


    • 例如(0B,27,43) - > #0B2743

    li>

    编辑:实施并不像我刚才说的那样很容易。我花时间写了几种语言的代码。


    I have two colors:

    #15293E
    #012549
    

    How can I find the color that is half way in between them? Is there some way to do this calculation?

    解决方案

    As Mr Lister just said, it is easy to automate the calculation with any programming language :

    1. Separate your two colors into their 3 color numbers for Red, Green, Blue : (r1,g1,b1) and (r2,g2,b2).
      • For example #15293E, #012549 become ("15", "29", "3E"), ("01", "25", "49")

    2. Convert each color string into an integer, specifying explicitly that you are parsing a hexadecimal-based representation of a number.
      • For example ("15", "29", "3E") becomes (21, 41, 62)

    3. Calculate the average (r',g',b') = ( (r1+r2)/2, (g1+g2)/2, (b1+b2)/2 ).
      • For example ( (21+1)/2, (41+37)/2, (62+73)/2) = (11, 39, 67)

    4. Convert them again to strings , specifying explicitly that you are generating two-digit hexadecimal representations (pad with a zero when necessary).
      • For example (11, 39, 67) -> ("0B", "27", "43")

    5. Concatenate a sharp character followed by the 3 strings
      • For example ("0B", "27", "43") -> "#0B2743"

    Edit : Implementation is not "very easy" as I initially stated. I took the time to write the code in several languages on Programming-Idioms .

    这篇关于如何获得两种颜色之间的颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

  • 08-03 23:48
    查看更多