2013-08-16 110 views

回答

1

您可以使用此代碼到MS Access顏色代碼轉換爲十六進制代碼:

import java.lang.StringBuilder; 

class Test { 
private static final int sizeOfIntInHalfBytes = 8; 
private static final int numberOfBitsInAHalfByte = 4; 
private static final int halfByte = 0x0F; 
private static final char[] hexDigits = { 
'0', '1', '2', '3', '4', '5', '6', '7', 
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' 
}; 
private static String finalHexCode; 

private static String decToHex(int dec) { 
StringBuilder hexBuilder = new StringBuilder(sizeOfIntInHalfBytes); 
hexBuilder.setLength(sizeOfIntInHalfBytes); 
for (int i = sizeOfIntInHalfBytes - 1; i >= 0; --i) 
{ 
    int j = dec & halfByte; 
    hexBuilder.setCharAt(i, hexDigits[j]); 
    dec >>= numberOfBitsInAHalfByte; 
} 
return hexBuilder.toString(); 
} 

public static String FinalHex(int dec) { 
    String ReversedHex = decToHex(dec); 
    if(ReversedHex.length() != 0) 
     finalHexCode = "#"+ReversedHex.substring(6, 8)+ReversedHex.substring(4, 6)+ReversedHex.substring(2, 4); 
    return finalHexCode; 
} 
} 
+0

謝謝你,但是我已經看到了這個..我想知道轉換ms訪問顏色代碼的邏輯 – Bora

+0

@SureshBora我知道'C#'的方式將Microsoft Access顏色代碼轉換爲十六進制。如果你需要,我可以發佈它。 – Bishan

+0

@Arshad Parwez我已經看到了代碼..它很容易轉換使用C#,以及我沒有得到邏輯發生在那裏。然而,如果你知道發生了什麼邏輯,你可以發佈它將是有益的 – Bora

2

通過Arshu的例子似乎將工作得很好,但似乎有大量的代碼,它可能是讓那些不知道發生了什麼的人感到困惑。

我在這裏發現了一個例子http://www.thecodingforums.com/threads/bgr-color-to-java-color.126668/這是舊的,但似乎爲我迄今需要的工作。

一個完整工作示例

import java.awt.Color; 

/** 
* 
* @author Konrad 
*/ 
public class colortest 
{ 

    public static Color convert(int BGRColorNumber) 
    { 
//color codes as a int in form "BGR" 
return new Color((BGRColorNumber & 0xFF), 
((BGRColorNumber >> 8) & 0xFF), 
((BGRColorNumber >> 16) & 0xFF)); 
} 

    public static void main (String[] args) 
    { 
     Color convert = colortest.convert(16777215); 
     System.out.println(convert); 
    } 

} 

//colornum = 16777215; //pure white 
//colornum = 255; //pure red 
//colornum = 65280; //pure green 
//colornum = 16711680; //pure blue 

輸出:java.awt.Color中[R = 255,G = 255,B = 255]又名純白色。

你可以找到所有的顏色代碼,所以有更多的測試要完成,但這似乎就足夠了。

我在我正在處理的色度鍵項目中使用了類似的東西。