2013-02-14 149 views
0

Java“的Color.decode”我有所谓的“颜色”从Java 我保留值,一个字符串字段MySQL数据库:相当于在PHP或MySQL

// (2=color field) 
pst.setString (2, objeto.getBackground(). getRGB()) 

,然后我看它像这个:

objeto.setBackground (Color.decode (rs.getString ("color"))) 

有没有mysql或php中的任何函数来读取颜色?

+0

什么是存储在获取的实际数据创建一个诠释? – 2013-02-14 08:27:12

+0

例如对于rgb(2555,0,0)保存-65536,对于rgb(0,255,0)保存-16711936 ... – 2013-02-14 16:12:47

+0

更新数据库以使用无符号值。 – 2013-02-14 16:15:37

回答

2

你想要什么?

将int转换为#RRGGBB格式的颜色?

sprintf('#%06X', $color); 

或者获得R,G,B值?

$r = ($color >> 16) & 0xFF; 
$g = ($color >> 8) & 0xFF; 
$b = ($color >> 0) & 0xFF; 

或RGB值

$color = ($r & 0xFF) << 16 | ($g & 0xFF) << 8 | $b & 0xFF 
+0

是的,我想将int转换为颜色,但我试过并且不匹配颜色,为什么当我从java保存时我记录了负值?,谢谢 – 2013-02-14 16:04:19

+0

因为您已经在Java中签署了值 – Philipp 2013-02-14 18:36:19

+0

但是,如果rgb(2555,0,0)保存-65536,即使删除标志不匹配。 – 2013-02-14 20:00:16