
Сообщение от
FireLizzard
Работает, только вот RedOUT где-то подвисает посередине.. Хотя, вроде всё по фен-шую, и следующие строки находятся нормально, а вот первая почему-то хромает.
sRGBA := OBJECT_TO_STRING(RGBA_IN);
IF LEN(sRGBA) > 0 AND FIND(IN1:= sRGBA, IN2:= 'rgba') > 0 THEN
sRGBA := DELETE(IN:= sRGBA, L:= 5, P:= 1);
sRed := LEFT(IN:= sRGBA, L:= (FIND(IN1:= sRGBA, IN2:= ',')-1));
RedOUT := STRING_TO_USINT(sRed);
sRGBA := DELETE(IN:= sRGBA, L:= FIND(IN1:= sRGBA, IN2:= ','), P:= 1);
sGreen := LEFT(IN:= sRGBA, L:= (FIND(IN1:= sRGBA, IN2:= ',')-1));
GreenOUT := STRING_TO_USINT(sGreen);
sRGBA := DELETE(IN:= sRGBA, L:= FIND(IN1:= sRGBA, IN2:= ','), P:= 1);
sBlue := LEFT(IN:= sRGBA, L:= (FIND(IN1:= sRGBA, IN2:= ',')-1));
BlueOUT := STRING_TO_USINT(sBlue);
sRGBA := DELETE(IN:= sRGBA, L:= FIND(IN1:= sRGBA, IN2:= ','), P:= 1);
sAlpha := LEFT(IN:= sRGBA, L:= (FIND(IN1:= sRGBA, IN2:= ')')-1));
AlphaOUT := REAL_TO_USINT(TRUNC(STRING_TO_REAL(sAlpha)*255));
END_IF
Осталось Всё это в цикл завернуть и работу с элементами массива.