Вверх ↑
Этот топик читают: Гость
Ответов: 230
Рейтинг: 1
#1: 2015-01-28 22:43:19 ЛС | профиль | цитата
почему цвет меняется на черный?
code_34995.txt
карма: 1

0
файлы: 1code_34995.txt [244B] [130]
Разработчик
Ответов: 26151
Рейтинг: 2127
#2: 2015-01-28 22:52:17 ЛС | профиль | цитата
lll0 писал(а):
почему цвет меняется на черный?

Потому, что значение цвета надо подавать в десятичном виде

Add(MainForm,9577859,518,168)
{
Color=16777215
Point(doColor)
}
Add(DoData,6571526,371,196)
{
Data=String(16711808)
link(onEventData,9577859:doColor,[])
}
Add(Button,2909383,294,196)
{
Left=195
Top=40
link(onClick,6571526:doData,[])
}

карма: 22

0
Ответов: 230
Рейтинг: 1
#3: 2015-01-28 22:57:13 ЛС | профиль | цитата
nesco, а как его в десятичный вид перевести?
карма: 1

0
Ответов: 177
Рейтинг: 24
#4: 2015-01-29 01:12:39 ЛС | профиль | цитата
lll0 писал(а):
nesco, а как его в десятичный вид перевести?


Вам просто нужно перевести из шестнадцатеричной системы в десятеричную в данном случае HEX --> DEC. К сожалению в компоненте convertor данная операция не предусмотрена, но можно воспользоваться сторонним конвертером погуголите их море. Например: http://www.binaryhexconverter.com/hex-to-decimal-converter Да и указывайте только само число FF0080 без - 0x

А вообще при подобной конвертации вы будете терять цвет. Так сам цвет FF0080 согласно палитре ближе к пурпурному однако при пересчете в десятичную систему вы получите - 16711808 что вам даст цвет насыщенно фиолетовый!
Я вам рекомендую не конвертировать а задавать цвета RGB. Пользуйтесь удобной для вас политрой и используете значение rgb для одноимённого компонента. Тогда вы получите ровно тот цвет что и выбирали в палитре!


Add(MainForm,9577859,637,189)
{
Color=16777215
Point(doColor)
}
Add(Button,2909383,168,217)
{
Left=195
Top=40
link(onClick,12815180:doRGB,[])
}
Add(RGB,12815180,392,217)
{
link(onRGB,9577859:doColor,[])
link(R,15887412:Value,[(398,201)(335,201)])
link(G,14850084:Value,[])
link(B,10479814:Value,[(412,201)(475,201)])
}
Add(Memory,15887412,329,133)
{
Default=Integer(255)
}
Add(Memory,14850084,399,133)
{
Default=Integer(0)
}
Add(Memory,10479814,469,133)
{
Default=Integer(128)
}
Add(InfoTip,8295604,301,91)
{
Info=#0:|35:R G B|
Font=[MS Sans Serif,12,1,16711680,1]
Width=225
Height=88
}






карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#5: 2015-01-29 02:11:32 ЛС | профиль | цитата
Lora, а что это у тебя за такая интересная програмулька, на которую ты скриншот привела
карма: 22

0
Ответов: 9906
Рейтинг: 351
#6: 2015-01-29 07:26:03 ЛС | профиль | цитата
Lora писал(а):
в данном случае HEX --> DEC. К сожалению в компоненте convertor данная операция не предусмотрена

Неправда
Предусмотрена
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#7: 2015-01-29 07:30:21 ЛС | профиль | цитата
Lora писал(а):
сам цвет FF0080
и будет "насыщенно фиолетовый". А "ближе к пурпурному" 0x8000FF.
В Вашей, как написал nesco, "программульке" - ошибка в переводе R,G,B в COLORREF — стандартный тип для представления цветов в Win32.
COLORREF можно представить в шестнадцатеричном виде так: 0x00bbggrr (а не 0xrrggbb как у Вас на скриншоте ff0080)


[flood]Не секрет, что Билл Гейтс - еврей.
А когда еврей говорит R G B то запишет справа налево. Вот и получилось B G R. [/flood]


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1color_ff0080.png [58.7KB] [854]
Ответов: 177
Рейтинг: 24
#8: 2015-01-29 22:53:57 ЛС | профиль | цитата
nesco писал(а):
Lora, а что это у тебя за такая интересная програмулька, на которую ты скриншот привела



Фотошоп обыкновенный!

Galkov писал(а):
Неправда
Предусмотрена


Согласна, я ошиблась! Просто я глазами пробежалась выискивая конвертер HEX --> DEC, а он коварно скрывался как HEX --> To Int!

Tad писал(а):
ошибка в переводе R,G,B в COLORREF — стандартный тип для представления цветов в Win32.
COLORREF можно представить в шестнадцатеричном виде так: 0x00bbggrr (а не 0xrrggbb как у Вас на скриншоте ff0080)


Угу, понятно. Только вот я по прежнему считаю что весь этот огород с переводом шестнадцатеричного цвета в десятеричный мягко говоря необоснованно муторным. Меня мучает всё тот же вопрос: зачем?! Ведь компонент RGB замечательно выводит цвета ровно те что выбраны в палитре! Так зачем тогда все эти танцы с бубном???

Вот схемка, по-моему очень наглядно!
Add(Convertor,7075562,630,511)
{
Mode=5
link(onResult,2506174:doEvent1,[])
link(Data,9838625:FString,[(636,506)(590,506)(590,555)(545,555)])
}
Add(Edit,1347072,357,350)
{
Left=40
Top=60
Width=80
Text="0xFF0080"
link(onChange,3356868:doWork1,[(401,356)(401,395)(133,395)])
}
Add(Button,6174626,274,511)
{
Left=130
Top=60
Caption="-->"
link(onClick,6122319:doEnum,[])
}
Add(Label,5957326,752,543)
{
Left=195
Top=60
Width=80
Height=17
Caption=""
AutoSize=1
Alignment=2
}
Add(MainForm,9577859,175,91)
{
Width=516
Height=294
Color=16777215
Point(doColor)
link(onCreate,9731724:In,[])
}
Add(Hub,2506174,686,511)
{
link(onEvent1,3052024:doWork,[])
link(onEvent2,5957326:doText,[(724,524)(724,549)])
}
Add(Label,4249558,436,12)
{
Left=75
Top=30
Width=26
Height=17
Caption="HEX"
}
Add(Label,14610240,480,12)
{
Left=220
Top=30
Width=26
Height=17
Caption="DEC"
}
Add(FormatStr,9838625,539,511)
{
DataCount=3
Mask="%3%2%1"
Point(FString)
link(onFString,7075562:doConvert,[])
link(Str1,4988174:Value,[])
link(Str2,10345367:Value,[])
link(Str3,7293545:Value,[])
}
Add(Str_Enum,6122319,357,511)
{
Delimiter=""
Step=2
Point(onBreak)
link(onEnum,7591502:doEvent,[])
link(String,10005070:Var2,[])
}
Add(Memory,4988174,539,385)
{
}
Add(IndexToChanel,7591502,448,511)
{
Count=4
Point(Data)
Point(Index)
link(onEvent2,4988174:doValue,[(494,524)(494,391)])
link(onEvent3,10345367:doValue,[(510,531)(510,426)])
link(Data,6122319:Part,[(454,489)(423,489)(423,561)(370,561)])
link(Index,6122319:NumSubStr,[(461,499)(412,499)(412,555)(363,555)])
link(onEvent4,7293545:doValue,[(519,538)(519,461)])
}
Add(Memory,10345367,546,420)
{
}
Add(Memory,7293545,553,455)
{
link(onData,9838625:doString,[(594,461)(594,499)(527,499)(527,517)])
}
Add(Trim,1468010,252,420)
{
Char="0x"
Mode=4
link(onTrim,3167436:doWork2,[])
link(Text,7054313:Var1,[(258,411)])
}
Add(Trim,555686,294,455)
{
Char="#"
Mode=4
link(onTrim,3167436:doWork3,[(331,461)])
link(Text,7054313:Var2,[])
}
Add(HubEx,3167436,327,420)
{
Angle=3
link(onEvent,1347072:doText,[(331,356)])
}
Add(Hub,761406,210,420)
{
link(onEvent1,1468010:doTrim,[])
link(onEvent2,555686:doTrim,[(241,433)(241,461)])
}
Add(GetDataEx,10005070,357,406)
{
link(Data,1347072:Text,[])
}
Add(HubEx,3356868,129,420)
{
link(onEvent,4365956:doTimer,[])
}
Add(Timer,4365956,154,420)
{
Interval=125
Enable=1
AutoStop=1
link(onTimer,761406:doEvent1,[])
}
Add(LineBreak,9789189,84,420)
{
link(Out,3356868:doWork2,[])
Primary=[9731724,154,-315]
}
Add(Image,6984456,168,42)
{
Left=310
Top=50
Width=165
Height=155
Point(doColor)
}
Add(Label,14761800,523,12)
{
Left=365
Top=20
Width=69
Height=17
Caption="Выбран цвет"
}
Add(Button,832908,56,119)
{
Left=310
Top=220
Width=165
Caption="Применить к форме"
link(onClick,14792148:doData,[])
}
Add(LineBreakEx,3052024,749,511)
{
Caption="color"
}
Add(LineBreakEx,10547572,56,56)
{
Caption="color"
Type=1
link(OnEvent,7957028:doValue,[])
}
Add(DoData,14792148,119,119)
{
link(onEventData,9577859:doColor,[])
link(Data,7957028:Value,[])
}
Add(Memory,7957028,119,56)
{
link(onData,6984456:doColor,[])
}
Add(Label,12181686,393,12)
{
Left=80
Top=105
Width=33
Height=17
Caption="R G B"
}
Add(Edit,12026388,644,144)
{
Left=25
Top=125
Width=45
Text=""
}
Add(Edit,16272254,693,144)
{
Left=75
Top=125
Width=45
Text=""
}
Add(Edit,3127157,742,145)
{
Left=125
Top=125
Width=45
Text=""
}
Add(Button,9163705,588,217)
{
Left=180
Top=125
Caption="-->"
link(onClick,9780394:doRGB,[])
}
Add(RGB,9780394,686,217)
{
link(onRGB,6067201:doWork,[])
link(R,12026388:Text,[(692,198)(650,198)])
link(G,16272254:Text,[])
link(B,3127157:Text,[(706,197)(748,197)])
}
Add(LineBreakEx,6067201,749,217)
{
Caption="color"
}
Add(GetDataEx,7054313,294,406)
{
Angle=1
link(Data,10005070:Var1,[])
}
Add(Button,1726119,396,70)
{
Left=50
Top=180
Width=165
Height=50
Caption="Палитра (adobe.com)"
link(onClick,8811411:doShellExec,[(442,76)(442,83)])
}
Add(WinExec,8811411,455,70)
{
FileName="https://color.adobe.com/ru/create/color-wheel/?base=2&rule=Analogous&selected=3&name=%D0%9C%D0%BE%D1%8F%20%D1%82%D0%B5%D0%BC%D0%B0%20Color&mode=rgb&rgbvalues=0.3,0.26368478151540087,0.0676937812856906,0.33999999999999997,0.17697869772054486,0.07671961879044935,0.25,0.06891148440474218,0.19206000852619415,0.10079059135161386,0.07671961879044935,0.33999999999999997,0.08269378128569062,0.29062775018315296,0.3&swatchOrder=0,1,2,3,4"
}


карма: 1

0
Ответов: 8926
Рейтинг: 823
#9: 2015-01-29 23:40:29 ЛС | профиль | цитата
Lora, вы личку смотрите? Я дпя вас сообщение оставил
карма: 19

0
Ответов: 177
Рейтинг: 24
#10: 2015-01-30 00:24:58 ЛС | профиль | цитата
Леонид писал(а):
Lora, вы личку смотрите? Я дпя вас сообщение оставил


Аммм, даже не знаю! Либо до меня они не доходят, либо я где-то не там смотрю!
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#11: 2015-01-30 00:36:44 ЛС | профиль | цитата
lll0 писал(а):
а как его в десятичный вид перевести

Я пользуюсь этим data_color.rar
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1data_color.rar [1.3KB] [157]
Ответов: 8926
Рейтинг: 823
#12: 2015-01-30 00:49:00 ЛС | профиль | цитата
Tad, я ничем не пользуюсь, в уме прикидываю
Lora, в самом низу главной страницы форума:
Личка.jpg
карма: 19

0
файлы: 1Личка.jpg [50.8KB] [572]
Ответов: 16884
Рейтинг: 1239
#13: 2015-01-30 10:05:06 ЛС | профиль | цитата
Lora, нехорошо ответ подгонять под задачку
code_35009.txt
lora_color_1.png

------------ Дoбавленo в 10.05:
Lora писал(а):
компонент RGB замечательно выводит цвета ровно те что выбраны в палитре!
Всё верно.
Просто в Delphi (и в HiAsm) используется кодирование BbGgRr, а в Фотошопе RrGgBb. (Так что там, на Вашем скриншоте, ошибки нет.)
Поэтому связывать их между собой ни по HEX ни по DEC "напрямую" нельзя.
Нужно менять местами B и R.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2code_35009.txt [221B] [135], lora_color_1.png [54.3KB] [577]
Ответов: 177
Рейтинг: 24
#14: 2015-01-30 12:39:42 ЛС | профиль | цитата
Леонид писал(а):
Lora, в самом низу главной страницы форума:

Нет у меня там ни одного сообщения! Мне уже прямо любопытно, чем таким вы хотите со мной поделится??!

Tad писал(а):
Lora, нехорошо ответ подгонять под задачку

А что поделать если мне ответ изначально был ясен?! набросала так как могла!
Всегда предпочитала работать с RGB! Все просто и понятно, никаких лишних движений!
карма: 1

0
Ответов: 8926
Рейтинг: 823
#15: 2015-01-30 12:51:29 ЛС | профиль | цитата
Lora, наверное, постов у вас недостаточно Вот, скопипастил ("Посторонним в."(с) ) [flood]Ответ для коллеги mrvitya делал в горячке, забыв о присутствии девушек на форуме. Прошу извинить!
(Коллега появился на форуме задолго до Вас и Вы не видели его постов, может и поняли бы мой проступок, а понять значит простить :-) )
В качестве компенсации за моральный вред предлагаю ежевеченюю молитву женщины:
"Боже, дай мудрости, чтобы понять мужчину. Дай любви, чтобы прощать его. Терпенья – чтобы выдержать его характер. Только сил не давай Боже, а то убью его на хрен!"
[/flood]
карма: 19

2
Голосовали:Tad, Galkov
Сообщение
...
Прикрепленные файлы
(файлы не залиты)