当前位置: 首页 > 知识库问答 >
问题:

Java颜色int到RGB在Javascript[重复]

奚瑾瑜
2023-03-14

我正在尝试使用Javascript中数据库中的一些JavaColor int值。使用Javascript将Java颜色int(如-2147473665)转换为RGB字符串(如“#ffff00”)的正确方法是什么?将它们直接转换为十六进制会使它们全部深蓝色或黑色...

(编辑)第一个答案有所帮助,我现在得到了黑色以外的颜色,但它们仍然不是正确的色调。(我知道谷歌地图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应该是橙色的,但它是蓝色的

共有2个答案

冯峻
2023-03-14

如果你有一个彩色ARGB,那么你必须做的是

  int hx=-16767233 & 0x00ffffff;
  g2.setColor(new Color(hx));
  g2.fillRect(0, 0, w, h);

现在hx是RGB,没有阿尔法。

臧兴学
2023-03-14

是的,您可以将int转换为十六进制,如下所示:

var num = 2147473665;

var hexString = num.toString(16);

十六进制字符串现在是7FFFD901

var alphalessHexString = hexString.substr(2, 6)

AlphaleShexstring现在是FFD901

把它们放在一行:

var num = 2147473665;
var alphalessHexString = num.toString(16).substr(2, 6)

AlphaleShexstring现在是FFD901

 类似资料:
  • 我想将int颜色转换为rgb字节数组。我正在使用ColorPickerDialog(ColorPickerDialog)。 如果我选择一种颜色(比方说蓝色),我会得到整数值:-16775425。 这符合十六进制中的0xFF 00 06 FF。 据我所知,红色: 0x0,绿色: 0x06,蓝色: 0xFF。如果我在微软油漆(0006FF)中测试它,我会得到蓝色。 如果我尝试使用以下代码将整数值转换为

  • 问题内容: 我需要准确地将HSB转换为RGB,但是我不确定如何解决将小数转换为整数而不四舍五入的问题。这是我从colorpicker库中获得的当前函数: 如您所见,此函数的不准确性来自Math.round 问题答案: / accepts parameters * h Object = {h:x, s:y, v:z} * OR * h, s, v / function HSVtoRGB(h, s,

  • 我试图设置文本背景颜色使用 是红色、绿色、蓝色值来自数据库,基于值set编程时,它的颜色为暗绿色,但我运行程序时它将显示红色

  • 我试图使用下面的XSSFColor方法设置RGB颜色值 我正在传递短值,但是不管RGB值是多少,我的前景都会被设置为黑色。我还没有发现这是为什么——有什么想法吗?

  • 我有一个返回十进制值的java代码,如下所示 第一个值表示红色的颜色代码,第二个值表示绿色的颜色代码,第三个值表示蓝色的颜色代码。 有没有什么方法可以将这些RGB值转换为java中相应的颜色?

  • 问题内容: 如何在CIE Lab颜色模型中显示对象颜色。 但是我无法通过CIE Lab强制进行这项工作(尽管TYPE_Lab是在ColorSpace类中提供的) 谢谢。 问题答案: 这是我的实现: