【发布时间】:2016-06-12 00:43:06
【问题描述】:
我正在尝试在 Javascript 中使用数据库中的一些 Java Color int 值。使用Javascript将Java颜色int(如-2147473665)转换为RGB字符串(如'#ffff00')的正确方法是什么?将它们直接转换为十六进制会使它们全部变成深蓝色或黑色......
(编辑)第一个答案有帮助,我现在得到黑色以外的颜色,但它们仍然不是正确的色调。 (我知道 Google Maps API 采用 RGB,而不是 HSV,所以不是这样......)
function getClients() {
var query = new Parse.Query(Client);
query.each(function(client) {
var clientName = client.get("clientName");
var borderColor = '#' + (-client.get("borderColor")).toString(16);
var fillColor = '#' + (-client.get("fillColor")).toString(16).substr(2);
var outline = client.get("outline");
console.log(client.get("borderColor"));
console.log(client.get("borderColor").toString(16));
console.log(hexToRGB(client.get("borderColor")));
var clientPoly = new google.maps.Polygon({
paths: outline,
strokeColor: borderColor,
strokeOpacity: 1,
strokeWeight: 2,
fillColor: fillColor,
fillOpacity: 0.5
});
clientPoly.setMap(mMap);
});
}
例如,int -16767233 应该是海军蓝,但它显示为黄色。
-16731137 应该是浅蓝色的,但它是红色的
-1218518 应该是橙色的,但它是蓝色的
【问题讨论】:
-
您希望 -16767233 转换成什么具体的 RGB 值?
-
我不知道确切的 RGB 值,这就是我需要转换它们的原因。不过它应该是蓝色的。
标签: javascript java colors rgba