转换图.颜色变成HTML的颜色值

本文关键字:HTML 颜色值 颜色 转换 | 更新日期: 2023-09-27 17:51:01

我已经问过这个问题了,但是我说错了。

我在服务器上有一个方法GetRandColor(),它返回System.Drawing.Color对象。

我想要的是能够在页面加载时使用此设置html属性。例如,

<html>
<body bgcolor="#GetRandColor()">
<h1>Hello world!</h1>
</body>
</html>

转换图.颜色变成HTML的颜色值

你不能从你的函数返回一个System.Drawing.Color对象,因为浏览器只理解文本。因此,您应该返回颜色的字符串表示形式,可以是RGB, HEX格式或其他格式。

你的方法应该是这样的:

 protected string GetRandColor()
 {
     return ColorTranslator.ToHtml(Color.Red);
 }

你可以这样设置你的表单的背景:

<body style="background-color:<%=GetRandColor()%>;">

如果GetRandColor()在一个静态类中,这应该可以工作:

<body bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(ClassName.GetRandColor()) %>">

您可能需要在类名之前添加类的命名空间

你可以在内联表达式的帮助下做到这一点: .NET框架中的内联表达式

显示表达式 (<%= ... %>)

bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(GetRandColor()) %>"

您可以使用ColorTranslator转换绘图。Color到HTML的颜色值。例如,

System.Drawing.Color c = System.Drawing.ColorTranslator.FromHtml("#F5F7F8"); 
String strHtmlColor = System.Drawing.ColorTranslator.ToHtml(c);

这个链接也会帮助你:msdn.microsoft.com/en-us/library/system.drawing.colortranslator.fromhtml.aspx

public string GetRandHtmlColor(){
    System.Drawing.Color c = GetRandColor();
    return System.Drawing.ColorTranslator.ToHtml(c);
}