簡體   English   中英

從HTML十六進制顏色計算ARGB整數

[英]Calculate ARGB Integer out of HTML Hex color

有人可以告訴我如何從Java中的HTML十六進制顏色獲取此ARGB整數值嗎?

它是一個8位數的值,顯然可能是負數!

非常感謝你!

MatrixToImageConfig(-10223615,-1)
public static void main(String[] args) {

    //same colors
    String hex = "#ffffff00";
    Color color = new Color(255,255,255,0);

    //4294967040
    System.out.println(Long.decode(hex));

    //16777215
    System.out.println(toRGBA(hex));

    //16777215
    System.out.println(color.getRGB());

    //-16711681
    System.out.println(toARGB(hex));
}

public static int toRGBA(String nm) {
    Long intval = Long.decode(nm);
    long i = intval.intValue();


    int a = (int) ((i >> 24) & 0xFF);
    int r = (int) ((i >> 16) & 0xFF);
    int g = (int) ((i >> 8) & 0xFF);
    int b = (int) (i & 0xFF);

    return ((b & 0xFF) << 24) |
            ((g & 0xFF) << 16) |
            ((r & 0xFF) << 8)  |
            ((a & 0xFF) << 0);
}

public static int toARGB(String nm) {
    Long intval = Long.decode(nm);
    long i = intval.intValue();


    int a = (int) ((i >> 24) & 0xFF);
    int r = (int) ((i >> 16) & 0xFF);
    int g = (int) ((i >> 8) & 0xFF);
    int b = (int) (i & 0xFF);

    return ((a & 0xFF) << 24) |
            ((b & 0xFF) << 16) |
            ((g & 0xFF) << 8)  |
            ((r & 0xFF) << 0);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM