![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Как перевести Hex в чило например вот функция
Код:
function ColorToHex(Color: TColor): string; begin Result :='$'+ IntToHex(GetBValue(Color), 2) + IntToHex(GetGValue(Color), 2) + IntToHex(GetRValue(Color), 2) ; end; Теперь надо сделать аналог HexToColor вот начел делать функцию Код:
Function HexToColor(HexColor:String): TColor;
begin
//Если в строке находим значок $ то
if pos('$',HexColor)>0 then {Удаляем его} System.Delete(HexColor,pos('$',HexColor)-1,1);
Result:=
end; |
|
#2
|
||||
|
||||
|
Код:
StrToInt('$FFFFFF')В хекс перевести можно и так Код:
IntToHex(color, 8) |
|
#3
|
||||
|
||||
|
Нельзя. Я перевожу под OpenGl цвет а у него цвет перевернутый сверх на голову. Мне нужно из этот код [$FF0000]
перевести в этот clBlue для перевода в этот используется эта функция Код:
function ColorToHex(Color: TColor): string; begin Result :='$'+ IntToHex(GetBValue(Color), 2) + IntToHex(GetGValue(Color), 2) + IntToHex(GetRValue(Color), 2) ; end; Код:
Function HexToColor(HexColor:String): TColor;
begin
if pos('$',HexColor)>=0 then System.Delete(HexColor,pos('$',HexColor)-1,1);
Result :=
RGB(
StrToInt('$'+Copy(HexColor, 1, 2)),
StrToInt('$'+Copy(HexColor, 3, 2)),
StrToInt('$'+Copy(HexColor, 5, 2))
) ;
end;но надо избавиться от этих скобок [] |
|
#4
|
||||
|
||||
|
ну поразрядно тогда сдвигай.
где тут квадратные скобки? |
|
#5
|
||||
|
||||
|
Вот так работает
Код:
function HexToTColor(sColor : string) : TColor;
begin
Delete(sColor,1,1);
Result :=
RGB(
StrToInt('$' + Copy(sColor, 5, 2)),
StrToInt('$' + Copy(sColor, 3, 2)),
StrToInt('$' + Copy(sColor, 1, 2))
) ;
end;Последний раз редактировалось Alegun, 26.06.2013 в 18:04. |
|
#6
|
||||
|
||||
|
Цитата:
Я знаю. OpenGl так считывает. я не виноват что игра просит верх нагами Hex код |