Oracle APEX:从拾色器获取十六进制的RGB值

时间:2014-12-02 22:57:00

标签: oracle oracle-apex

我正在使用Oracle APEX构建应用程序,而且我已经到了需要从颜色选择器组件生成的Hex值派生RGB值的阶段。

我试图寻找一些引用任何方法进行转换的文档,但我还没有运气。

有没有简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

要将十六进制值转换为数字,请使用带有相应格式字符串的to_number函数。对于十六进制,即' x'。

select to_number('AA','xx') from dual

170

现在,如果您的颜色选择器为红色,绿色和蓝色返回FFEEDD等值,则必须获取该值的各个部分并将其转换为数字。您可以使用子字符串。

substr('FFEEDD',1,2) -- red value
substr('FFEEDD',3,2) -- green value
substr('FFEEDD',5,2) -- blue value.

将这些值转换为数字。

select to_number(substr('FFEEDD',1,2),'xx') from dual

255

select to_number(substr('FFEEDD',3,2),'xx') from dual

238

select to_number(substr('FFEEDD',5,2),'xx') from dual

211

Put就是一个功能而你已经完成了。