2016-11-19 6 views
0

Как нет интегрированного атрибута для цвета в asp.net (по крайней мере, я его не нашел), мне интересно, как вы, ребята, выбираете цвет?Как выбрать и получить цвет в asp.net

Предположим, я хочу создать рисунок с использованием растрового изображения, и я хочу получить цвет фона от пользователя, который выбирает его с помощью приложения.

Я сделал некоторый код позади, но вещь не работает, так как я вручную ввести цвета, как # 000 или #FFF (с использованием текстового поля)

app.aspx

<label> 
<span>Background color</span> 
<asp:TextBox ID="inp_bgColor" Width="125px" runat="server"></asp:TextBox> 
</label><span style="color:red"><asp:Literal ID="error_bg" runat="server"></asp:Literal></span><br /><br /> 

и app.aspx.cs

Color txtClr = Color.FromName(inp_bgColor.Text); 

Я заметил, что System.Drawing.Color является тип цвета ARGB, так ч ow я делаю это?

Спасибо!

ответ

1

Вы можете использовать шестигранные цвета, как это:

string hex = "#FF3FF3"; 
Color _color = System.Drawing.ColorTranslator.FromHtml(hex); 
+0

дает мне и ошибку «ссылка на объект требуется для метода, не статического поля или свойства„TypeConverter'.ConvertFromString (строка)“ – aiden87

+0

обновлено! Это работает для меня .. – abdul

+0

работает отладчик, теперь я получаю желаемые значения, что означает, что он, вероятно, работает. Поэтому codebehind «done». – aiden87

1

Метод Color.FromName получает цветы от KnownColor перечисления (см know color table
Попробуйте использовать метод Color.FromARGB см here Для простого цвета пользователя сбора вы можете использовать диалог выбора цвета, как это:

// Show the color dialog. 
ColorDialog colorDialog1=new ColorDialog(); 
DialogResult result = colorDialog1.ShowDialog(); 
// See if user pressed ok. 
Color selectedColor; 
if (result == DialogResult.OK) 
{ 
    selectedColor = colorDialog1.Color; 
} 
+0

работает отладчик, теперь я получаю желаемые значения. Это означает, что он, вероятно, работает. Так что codebehind «сделано». как насчет интерфейса, как я могу позволить пользователю выбрать цвет, как colorpicker или sth, так что ему не нужно писать в шестнадцатеричных значениях? – aiden87

+0

Обратите внимание на мое редактирование. Используйте диалоговое окно цвета –

+0

, спасибо, но уже получил его работу с сообщением abdul. надеюсь, это поможет любому другому! :) Еще раз спасибо! – aiden87

0

вы можете получить цвет, используя .Attributes.CssStyle["color"], но ваш элемент должен иметь CS s стиль собственности, как набор цветов.

inp_bgColor.Attributes.CssStyle["color"] 

И вы можете использовать этот способ для преобразования

Color _color = System.Drawing.ColorTranslator.FromHtml("#FFFFFF");