Web safe color list : Web safe color « XML « ASP.Net

ASP.Net
1. ADO.net Database
2. Ajax
3. Asp Control
4. Collections
5. Components
6. Data Binding
7. Development
8. File Directory
9. HTML Control
10. Language Basics
11. Login Security
12. Mobile Control
13. Network
14. Page
15. Request
16. Response
17. Server
18. Session Cookie
19. Sitemap
20. Theme Style
21. User Control and Master Page
22. Validation by Control
23. Validation by Function
24. WebPart
25. WPF
26. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
ASP.Net » XML » Web safe color 
Web safe color list

<%--
Pro ASP.NET Web Forms Techniques, Second Edition

By Alex Homer
ISBN: 1-59059-317-0
Published: Dec 2003
Publisher: Apress.com

--%>       
       
<%@Page Language="C#" %>
<%@Import Namespace="System.Drawing" %>
<script runat="server">
void Page_Load() {
  // array to hold list of 168 "known" colors
  Color[] aKnownCols = new Color[168];
  KnownColor eValue;
  for (eValue = 0; eValue <= KnownColor.YellowGreen; eValue++) {
    aKnownCols[(inteValue= Color.FromKnownColor(eValue);
  }

  // array to hold list of 216 browser-safe colors
  Color[] aSafeCols = new Color[216];
  int rValue, gValue, bValue;
  int iPointer = 0;
  for (rValue = 0; rValue <= 255; rValue += 51) {
    for (gValue = 0; gValue <= 255; gValue += 51) {
      for (bValue = 0; bValue <= 255; bValue += 51) {
        aSafeCols[iPointer= Color.FromArgb(rValue, gValue, bValue);
        iPointer += 1;
      }
    }
  }

  // create a table containing the browser-safe colors
  // and indicate any matching .NET standard color

  // declare variables, we'll create 5 rows simultaneously
  TableRow oRow1, oRow2, oRow3, oRow4, oRow5;
  TableCell oCell;
  Color oKnown;
  String sDecimalVals, sHexVals, sKnown;

  // to create empty cell with colored background
  String sColorCell = "<font size=5>&nbsp; &nbsp; &nbsp; &nbsp;</font>";

  // create empty Table object and five Row objects
  Table oTable = new Table();
  oRow1 = new TableRow();
  oRow2 = new TableRow();
  oRow3 = new TableRow();
  oRow4 = new TableRow();
  oRow5 = new TableRow();

  // set horizontal alignment for three rows
  oRow2.HorizontalAlign = HorizontalAlign.Center;
  oRow3.HorizontalAlign = HorizontalAlign.Center;
  oRow4.HorizontalAlign = HorizontalAlign.Center;

  // iterate through array of safe colors
  foreach (Color oColor in aSafeCols) {

    // create the strings showing decimal and hex RGB values
    sDecimalVals = oColor.R.ToString() "," + oColor.G.ToString()
                 "," + oColor.B.ToString();
    sHexVals = "#" + oColor.R.ToString("x2"+ oColor.G.ToString("x2")
             + oColor.B.ToString("x2");

    // see if this color is same as any standard color by iterating
    // through "known" colors array and comparing ARGB values.
    // not breaking at first match avoids returning "system" colors
    // such as "DialogText" and "WindowTitleBarText" which come first
    sKnown = "";
    foreach (Color oEKnown in aKnownCols) {
      if (oEKnown.ToArgb() == oColor.ToArgb()) {
        sKnown = oEKnown.Name;
      }
    }

    // create a new cell, and add LiteralControl containing value
    oCell = new TableCell();
    oCell.Controls.Add(new LiteralControl(sColorCell));

    // set properties for this cell, and add to row 1
    oCell.BorderColor = Color.Black;
    oCell.BorderStyle = BorderStyle.Solid;
    oCell.BorderWidth = Unit.Pixel(1);
    oCell.BackColor = oColor;
    oRow1.Cells.Add(oCell);

    // repeat for cells containing decimal and hex RGB values
    oCell = new TableCell();
    oCell.Controls.Add(new LiteralControl(sDecimalVals));
    oRow2.Cells.Add(oCell);
    oCell = new TableCell();
    oCell.Controls.Add(new LiteralControl(sHexVals));
    oRow3.Cells.Add(oCell);

    // create cell for matching "known" color if there is one
    oCell = new TableCell();
    if (sKnown != "") {
      oCell.Controls.Add(new LiteralControl(sKnown));

      // create color object using "known" color name
      Color oEKnown = Color.FromName(sKnown);
      oCell.BackColor = oEKnown;
      oCell.BorderColor = Color.Black;
      oCell.BorderStyle = BorderStyle.Solid;
      oCell.BorderWidth = Unit.Pixel(1);

      // see if we need to use white text on this background
      // color when displaying color name in cell
      if (oEKnown.R < 124 && oEKnown.G < 124) {
        oCell.ForeColor = Color.White;
      }

    }

    // add "known color" cell to row 4
    oRow4.Cells.Add(oCell);

    // create cell in row 5 to provide space between color rows
    oCell = new TableCell();
    oCell.Controls.Add(new LiteralControl("&nbsp;"));
    oRow5.Cells.Add(oCell);

    // if Blue element of color has reached 255 start a new row
    // add five existing rows to table, create new ones and set
    // horizontal alignment for the three of them holding text

    if (oColor.B == 255) {
      oTable.Rows.Add(oRow1);
      oTable.Rows.Add(oRow2);
      oTable.Rows.Add(oRow3);
      oTable.Rows.Add(oRow4);
      oTable.Rows.Add(oRow5);
      oRow1 = new TableRow();
      oRow2 = new TableRow();
      oRow3 = new TableRow();
      oRow4 = new TableRow();
      oRow5 = new TableRow();
      oRow2.HorizontalAlign = HorizontalAlign.Center;
      oRow3.HorizontalAlign = HorizontalAlign.Center;
      oRow4.HorizontalAlign = HorizontalAlign.Center;
    }

  }

  // table complete, so insert into page within PlaceHolder control
  ctlPlaceholder.Controls.Add(oTable);

}

</script>

<!doctype html public "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Browser-safe and Standard Colors</title>
</head>
<body>
Browser-safe and Standard Colors
<asp:PlaceHolder id="ctlPlaceholder" runat="server" />
</body>
</html>

           
       
Related examples in the same category
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.