<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.Net%2FXML%2FWeb_safe_color</id>
		<title>ASP.Net/XML/Web safe color - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.Net%2FXML%2FWeb_safe_color"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/XML/Web_safe_color&amp;action=history"/>
		<updated>2026-04-29T17:30:16Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.Net/XML/Web_safe_color&amp;diff=1882&amp;oldid=prev</id>
		<title> в 15:30, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/XML/Web_safe_color&amp;diff=1882&amp;oldid=prev"/>
				<updated>2010-05-26T15:30:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:30, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.Net/XML/Web_safe_color&amp;diff=1883&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/XML/Web_safe_color&amp;diff=1883&amp;oldid=prev"/>
				<updated>2010-05-26T11:51:45Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Web safe color list==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%--&lt;br /&gt;
Pro ASP.NET Web Forms Techniques, Second Edition&lt;br /&gt;
By Alex Homer&lt;br /&gt;
ISBN: 1-59059-317-0&lt;br /&gt;
Published: Dec 2003&lt;br /&gt;
Publisher: Apress.ru&lt;br /&gt;
--%&amp;gt;       &lt;br /&gt;
       &lt;br /&gt;
&amp;lt;%@Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@Import Namespace=&amp;quot;System.Drawing&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
void Page_Load() {&lt;br /&gt;
  // array to hold list of 168 &amp;quot;known&amp;quot; colors&lt;br /&gt;
  Color[] aKnownCols = new Color[168];&lt;br /&gt;
  KnownColor eValue;&lt;br /&gt;
  for (eValue = 0; eValue &amp;lt;= KnownColor.YellowGreen; eValue++) {&lt;br /&gt;
    aKnownCols[(int) eValue] = Color.FromKnownColor(eValue);&lt;br /&gt;
  }&lt;br /&gt;
  // array to hold list of 216 browser-safe colors&lt;br /&gt;
  Color[] aSafeCols = new Color[216];&lt;br /&gt;
  int rValue, gValue, bValue;&lt;br /&gt;
  int iPointer = 0;&lt;br /&gt;
  for (rValue = 0; rValue &amp;lt;= 255; rValue += 51) {&lt;br /&gt;
    for (gValue = 0; gValue &amp;lt;= 255; gValue += 51) {&lt;br /&gt;
      for (bValue = 0; bValue &amp;lt;= 255; bValue += 51) {&lt;br /&gt;
        aSafeCols[iPointer] = Color.FromArgb(rValue, gValue, bValue);&lt;br /&gt;
        iPointer += 1;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // create a table containing the browser-safe colors&lt;br /&gt;
  // and indicate any matching .NET standard color&lt;br /&gt;
  // declare variables, we&amp;quot;ll create 5 rows simultaneously&lt;br /&gt;
  TableRow oRow1, oRow2, oRow3, oRow4, oRow5;&lt;br /&gt;
  TableCell oCell;&lt;br /&gt;
  Color oKnown;&lt;br /&gt;
  String sDecimalVals, sHexVals, sKnown;&lt;br /&gt;
  // to create empty cell with colored background&lt;br /&gt;
  String sColorCell = &amp;quot;&amp;lt;font size=5&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;/font&amp;gt;&amp;quot;;&lt;br /&gt;
  // create empty Table object and five Row objects&lt;br /&gt;
  Table oTable = new Table();&lt;br /&gt;
  oRow1 = new TableRow();&lt;br /&gt;
  oRow2 = new TableRow();&lt;br /&gt;
  oRow3 = new TableRow();&lt;br /&gt;
  oRow4 = new TableRow();&lt;br /&gt;
  oRow5 = new TableRow();&lt;br /&gt;
  // set horizontal alignment for three rows&lt;br /&gt;
  oRow2.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
  oRow3.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
  oRow4.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
  // iterate through array of safe colors&lt;br /&gt;
  foreach (Color oColor in aSafeCols) {&lt;br /&gt;
    // create the strings showing decimal and hex RGB values&lt;br /&gt;
    sDecimalVals = oColor.R.ToString() + &amp;quot;,&amp;quot; + oColor.G.ToString()&lt;br /&gt;
                 + &amp;quot;,&amp;quot; + oColor.B.ToString();&lt;br /&gt;
    sHexVals = &amp;quot;#&amp;quot; + oColor.R.ToString(&amp;quot;x2&amp;quot;) + oColor.G.ToString(&amp;quot;x2&amp;quot;)&lt;br /&gt;
             + oColor.B.ToString(&amp;quot;x2&amp;quot;);&lt;br /&gt;
    // see if this color is same as any standard color by iterating&lt;br /&gt;
    // through &amp;quot;known&amp;quot; colors array and comparing ARGB values.&lt;br /&gt;
    // not breaking at first match avoids returning &amp;quot;system&amp;quot; colors&lt;br /&gt;
    // such as &amp;quot;DialogText&amp;quot; and &amp;quot;WindowTitleBarText&amp;quot; which come first&lt;br /&gt;
    sKnown = &amp;quot;&amp;quot;;&lt;br /&gt;
    foreach (Color oEKnown in aKnownCols) {&lt;br /&gt;
      if (oEKnown.ToArgb() == oColor.ToArgb()) {&lt;br /&gt;
        sKnown = oEKnown.Name;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // create a new cell, and add LiteralControl containing value&lt;br /&gt;
    oCell = new TableCell();&lt;br /&gt;
    oCell.Controls.Add(new LiteralControl(sColorCell));&lt;br /&gt;
    // set properties for this cell, and add to row 1&lt;br /&gt;
    oCell.BorderColor = Color.Black;&lt;br /&gt;
    oCell.BorderStyle = BorderStyle.Solid;&lt;br /&gt;
    oCell.BorderWidth = Unit.Pixel(1);&lt;br /&gt;
    oCell.BackColor = oColor;&lt;br /&gt;
    oRow1.Cells.Add(oCell);&lt;br /&gt;
    // repeat for cells containing decimal and hex RGB values&lt;br /&gt;
    oCell = new TableCell();&lt;br /&gt;
    oCell.Controls.Add(new LiteralControl(sDecimalVals));&lt;br /&gt;
    oRow2.Cells.Add(oCell);&lt;br /&gt;
    oCell = new TableCell();&lt;br /&gt;
    oCell.Controls.Add(new LiteralControl(sHexVals));&lt;br /&gt;
    oRow3.Cells.Add(oCell);&lt;br /&gt;
    // create cell for matching &amp;quot;known&amp;quot; color if there is one&lt;br /&gt;
    oCell = new TableCell();&lt;br /&gt;
    if (sKnown != &amp;quot;&amp;quot;) {&lt;br /&gt;
      oCell.Controls.Add(new LiteralControl(sKnown));&lt;br /&gt;
      // create color object using &amp;quot;known&amp;quot; color name&lt;br /&gt;
      Color oEKnown = Color.FromName(sKnown);&lt;br /&gt;
      oCell.BackColor = oEKnown;&lt;br /&gt;
      oCell.BorderColor = Color.Black;&lt;br /&gt;
      oCell.BorderStyle = BorderStyle.Solid;&lt;br /&gt;
      oCell.BorderWidth = Unit.Pixel(1);&lt;br /&gt;
      // see if we need to use white text on this background&lt;br /&gt;
      // color when displaying color name in cell&lt;br /&gt;
      if (oEKnown.R &amp;lt; 124 &amp;amp;&amp;amp; oEKnown.G &amp;lt; 124) {&lt;br /&gt;
        oCell.ForeColor = Color.White;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // add &amp;quot;known color&amp;quot; cell to row 4&lt;br /&gt;
    oRow4.Cells.Add(oCell);&lt;br /&gt;
    // create cell in row 5 to provide space between color rows&lt;br /&gt;
    oCell = new TableCell();&lt;br /&gt;
    oCell.Controls.Add(new LiteralControl(&amp;quot;&amp;amp;nbsp;&amp;quot;));&lt;br /&gt;
    oRow5.Cells.Add(oCell);&lt;br /&gt;
    // if Blue element of color has reached 255 start a new row&lt;br /&gt;
    // add five existing rows to table, create new ones and set&lt;br /&gt;
    // horizontal alignment for the three of them holding text&lt;br /&gt;
    if (oColor.B == 255) {&lt;br /&gt;
      oTable.Rows.Add(oRow1);&lt;br /&gt;
      oTable.Rows.Add(oRow2);&lt;br /&gt;
      oTable.Rows.Add(oRow3);&lt;br /&gt;
      oTable.Rows.Add(oRow4);&lt;br /&gt;
      oTable.Rows.Add(oRow5);&lt;br /&gt;
      oRow1 = new TableRow();&lt;br /&gt;
      oRow2 = new TableRow();&lt;br /&gt;
      oRow3 = new TableRow();&lt;br /&gt;
      oRow4 = new TableRow();&lt;br /&gt;
      oRow5 = new TableRow();&lt;br /&gt;
      oRow2.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
      oRow3.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
      oRow4.HorizontalAlign = HorizontalAlign.Center;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // table complete, so insert into page within PlaceHolder control&lt;br /&gt;
  ctlPlaceholder.Controls.Add(oTable);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html public &amp;quot;-//W3C//DTD HTML 3.2 Final//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Browser-safe and Standard Colors&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
Browser-safe and Standard Colors&lt;br /&gt;
&amp;lt;asp:PlaceHolder id=&amp;quot;ctlPlaceholder&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>