一般问题:
如果我更改 alpha 分量,如何计算颜色的 RGB 值,颜色在白色背景上看起来保持不变?
附加问题:
如何使用非白色背景颜色执行相同的操作?
注意事项:
我知道并非所有颜色都可以做到这一点。例如,不能增加 rgba(1,0,0,1) 的第一个参数来补偿这样的 alpha rgba(1.1,0,0,0.9)
这对于本例中的单色来说是微不足道的:
我当前的用例:
我正在开发一个状态栏/导航栏稍微透明的 iOS 应用程序。该栏应该看起来与内容 View 中的某些(不透明)对象具有相同的颜色。如果我将相同的颜色应用于条形,但内容的 alpha 为 95%,当然条形看起来更亮。
我还需要一个类似网络应用程序的 CSS 解决方案。
最佳答案
所以我知道这个问题现在已经快一年了,但我遇到了同样的问题并找到了解决方案,所以我想我会分享它。这方面的术语是“alpha 合成”,维基百科上有一篇很棒的文章。
http://en.wikipedia.org/wiki/Alpha_compositing
在您的情况下,您正在使用完全不透明的白色 rgba(255,255,255,1) 合成颜色。
我制作了一个 excel 计算器来执行此操作。我不知道如何将单元格值本身放入 StackOverflow,所以这里是论坛的屏幕截图。橙色单元格供您输入。
然后您可以更改 A10-A13 来定义您的初始颜色,并更改 D10 来指定您想要的 alpha。
Combined known colors
Color 1 Color 2 Combined
A 0.15 1 =$B$3+$C$3*(1-$B$3)
R 255 255 =(1/($D$3))*(B4*$B$3+C4*$C$3*(1-$B$3))
G 0 255 =(1/($D$3))*(B5*$B$3+C5*$C$3*(1-$B$3))
B 0 255 =(1/($D$3))*(B6*$B$3+C6*$C$3*(1-$B$3))
1 Known Color, Known result Alpha
Color 1 Color 2 Combined
A 0.15 =(D10-B10)/(1-B10) 0.85
R 255 255 =(1/($D$10))*(B11*$B$10+C11*$C$10*(1-$B$10))
G 255 255 =(1/($D$10))*(B12*$B$10+C12*$C$10*(1-$B$10))
B 0 255 =(1/($D$10))*(B13*$B$10+C13*$C$10*(1-$B$10))
关于ios - 颜色计算 : increase alpha but maintain the same color appearance over a white background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23240614/
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
如何使用Ruby的默认Curses库获取颜色?所以像这样:puts"\e[0m\e[30;47mtest\e[0m"效果很好。在浅灰色背景上呈现漂亮的黑色。但是这个:#!/usr/bin/envrubyrequire'curses'Curses.noecho#donotshowtypedkeysCurses.init_screenCurses.stdscr.keypad(true)#enablearrowkeys(forpageup/down)Curses.stdscr.nodelay=1Curses.clearCurses.setpos(0,0)Curses.addstr"Hello
状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in