Я пытаюсь использовать метод MakeColor
в модуле GDIPAPI, но преобразование с int
в byte
не возвращает мне правильное значение.Как преобразовать значение ARGB из строки в цвет?
Пример
var
argbStr: string;
A, R, G, B: Byte;
begin
argbStr := 'ffffcc88';
A := StrToInt('$' + Copy(AValue, 1, 2));
R := StrToInt('$' + Copy(AValue, 3, 2));
G := StrToInt('$' + Copy(AValue, 5, 2));
B := StrToInt('$' + Copy(AValue, 7, 2));
Result := MakeColor(A, R, G, B);
end;
Что я делаю неправильно?
Две вещи. Во-первых, каков ваш тип результата? Во-вторых, не должен ли первый вызов Копировать сказать 1, а не 0, как первый аргумент? –
Кроме того, где находится GDIAPI? У меня нет этой единицы в моей установке Delphi 2010. –
@Mason, я упомянул, что метод 'MakeColor' находится в модуле GDIPAPI, его часть GDI + ... Тип возврата - это TValue. – James