GDIPAPI 장치에서 MakeColor
메서드를 사용하려고 시도했지만 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;
?
두 가지. 먼저 결과 유형이 무엇입니까? 둘째로, 첫 번째 Copy 호출이 첫 번째 인수로 0이 아닌 1을 나타내지 않아야합니까? –
또한 GDIAPI는 어디에서 제공됩니까? 델파이 2010 설치시 해당 유닛이 없습니다. –
@Mason,'MakeColor' 메서드가 GDIIPI 유닛에 있고 GDI +의 일부라고 언급했습니다 ... 반환 값의 타입은 TValue입니다. – James