Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
ВнизКак преобразовать Integer Delphi цвет в Hex для PhotoShop? Найти похожие ветки
← →
Kolan © (2007-12-04 10:10) [0]Для Delphi 128 — это бордовый(Maroon). Как из этого числа получить теперь нех код 80 00 00, который обозначает то же цвет, но для PhotoShop"а?
Не программно, а так на калькуляторе — не врублюсь че на че делить…
← →
Игорь Шевченко © (2007-12-04 10:11) [1]ColorToRGB ?
← →
homm © (2007-12-04 10:14) [2]> Как преобразовать Integer Delphi цвет в Hex для PhotoShop
Прожуй.
> Для Delphi 128 — это бордовый(Maroon).
Нет, для дельфи 128 это $00000080.
> Как из этого числа получить теперь нех код 80 00 00
Переставить красный и синий каналы местами?
← →
Kolan © (2007-12-04 10:19) [3]> ColorToRGB
Получилось наоборот, там же BGR
128
|
Result := IntToHex(ColorToRGB(TColor(Val)), 6);
|
000080 получилось
← →
Kolan © (2007-12-04 10:21) [4]
> Нет, для дельфи 128 это $00000080.
Да
В вот в фотошопе это 80 00 00
← →
homm © (2007-12-04 10:22) [5]> [4] Kolan © (04.12.07 10:21)
> В вот в фотошопе это 80 00 00
Ну дак?
Переставить красный и синий каналы местами.
В чем проблема?
← →
Kolan © (2007-12-04 10:26) [6]
> Переставить красный и синий каналы местами.
Як? Прам в строке?
← →
homm © (2007-12-04 10:27) [7]Какой еше строке?
← →
Kolan © (2007-12-04 10:37) [8]> Какой еше строке?
Нех строке вестимо.
Короче сделал так и сё работает:
Result := Result[5]+Result[6]+Result[3]+Result[4]+Result[1]+Result[2];
Ответ найден, благодарю.
← →
homm © (2007-12-04 10:39) [9]> [8] Kolan © (04.12.07 10:37)
Ну и бардак :)
> [0] Kolan © (04.12.07 10:10)
> Не программно, а так на калькуляторе — не врублюсь че на
> че делить…
а тут уже строка… Ну да ладно.
← →
Игорь Шевченко © (2007-12-04 10:41) [10]uses
GraphUtil
function ColorToWebColorStr(Color: TColor): string;
или
var
RGB: Integer;
begin
RGB := ColorToRGB(Color);
Result := UpperCase(Format("#%.2x%.2x%.2x", [GetRValue(RGB),
GetGValue(RGB), GetBValue(RGB)]));
← →
Kolan © (2007-12-04 10:52) [11]
> а тут уже строка… Ну да ладно.
Ну так как я не понял че на че делить я изменил строку.
> ] Игорь Шевченко © (04.12.07 10:41)
Благодарю.
← →
Anatoly Podgoretsky © (2007-12-04 10:59) [12]Может не надо пытаться работать как с Integer, а перейти на RGB - это уже массив из трех байт, где а[0] это R и т.д.
← →
Kolan © (2007-12-04 11:00) [13]> Может не надо пытаться работать как с Integer,
Все, благодарю. Написал маленькую программу, сделал то что надо.
← →
Dib@zol © (2007-12-04 11:12) [14]Ну как всегда. Опоздал)))
function GetHTMLColor(D:DWORD):PChar;
asm
PUSH EBX;
PUSH ECX;
PUSH EDX;
PUSH EDI;
MOV EBX, EAX;
PUSH 9;
CALL GetMemory;
POP EDX;
XOR EDX, EDX;
XCHG EAX, EBX;
MOV EDI, 10h;
DEC EBX;
MOV BYTE PTR [EBX+9], 0;
MOV ECX, 6;
@loop:
IDIV EDI;
CMP DL, 0Ah;
JL @less;
ADD DL, 07h;
@less:
ADD DL, 30h;
MOV BYTE PTR [EBX+ECX], DL;
XOR DL, DL;
LOOP @loop;
MOV AX, WORD PTR [EBX+1];
MOV CX, WORD PTR [EBX+3];
MOV DX, WORD PTR [EBX+5];
MOV WORD PTR [EBX+1], DX;
MOV BYTE PTR [EBX+3], 20h;
MOV WORD PTR [EBX+4], CX;
MOV BYTE PTR [EBX+6], 20h;
MOV WORD PTR [EBX+7], AX;
MOV EAX, EBX;
INC EAX;
POP EDI;
POP EDX;
POP ECX;
POP EBX;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c