在白色背景下通过alpha混合将ARBG转换为RGB
||
我有一个彩色十六进制字符串存储在数据库中,如“ 0”;我可以使用以下方法将其转换为ARGB颜色:
string colorString=0x78dce6b0;
int hexColor = Convert.ToInt32(colorString ?? \"0\", 16);
Color colorTL = Color.FromArgb(hexColor);
现在,我想将其转换为在HTML页面中使用,因此我需要转换为HTML值,例如#cc3388
。如果我直接使用ColorTranslator.ToHtml(colorTL)
进行转换,则会丢失alpha混合值。假设背景始终为白色,如何通过考虑alpha值来转换它?
没有找到相关结果
已邀请:
3 个回复
剃摧庭峨僳
组件。 不幸的是,在不丢失
组件的情况下,不可能将
转换为HTML
。 如果您想根据自己的alpha值将颜色与白色混合,... 将每个十六进制分量(A,R,G,B)转换为从0到255的值,其中FF的值等于255,00的值等于0。 我们将这些0-255值命名为A,R,G,B 我们假定Alpha值为255表示“完全透明”,而Alpha值为0表示“完全不透明” New_R = CInt((255-R)*(A / 255.0)+ R) New_G = CInt((255-G)*(A / 255.0)+ G) New_B = CInt((255-G)*(A / 255.0)+ B) 您最终的HTML颜色字符串将为:\“#\”&cstr(New_R)&cstr(New_G)&cstr(New_B)
耐扫鹤胶鞭
佩疵瓦