HTML十六進制顏色用6位數字(3個字節,即所謂的A十六進制三元組)編寫。 Amiga的顏色寄存器需要一個定義顏色的單詞(2個字節,16位)。將十六進制HTML顏色轉換爲Amiga colorregister十六進制(和後面)
例子:
- 黃色 - HTML十六進制#FFFF00
- 黃色 - Amiga的顏色寄存器$ 0FF0
必須有某種算法(或/和)一些工具在簡單的方式之間轉換HTML顏色和Amiga色域寄存器?還是......請幫助:)
HTML十六進制顏色用6位數字(3個字節,即所謂的A十六進制三元組)編寫。 Amiga的顏色寄存器需要一個定義顏色的單詞(2個字節,16位)。將十六進制HTML顏色轉換爲Amiga colorregister十六進制(和後面)
例子:
必須有某種算法(或/和)一些工具在簡單的方式之間轉換HTML顏色和Amiga色域寄存器?還是......請幫助:)
主要是關於弗洛里斯的回答,我被引導到了正確的軌道外面的stackoverflow。摘要和轉換:
Amiga有一些不同的圖形模式,值得注意的是12位(稱爲OCS)和24位(稱爲AGA)等等。爲了轉換成AGA/24位,不需要做任何事情。爲了轉換成OCS/12位,我們需要減少值。
一個快速的方法是削減每個RGB分量的4個LSB,就像Floris建議的那樣0RGB = #RRGGBB。
或另一種方式,與位更精確:
24位RGB顏色分量的值的範圍從0-255(即RGB(255,255,0)。)等。 HTML-hex也是24位。 12位RGB顏色分量的值在0-15範圍內。
要一個24位的RGB顏色轉換爲12位和只保留整數部分爲每一個24位R爲此,G和B分量:
downSizedColor = colToDownSize * maxOfRangeToDownConvertTo/maxOfRangeToDownConvertFrom
maxOfRangeToDownConvertTo = 15(12位maxrange)
maxOfRangeToDownConvertFrom = 255(24位maxrange)
例 爲RGB(200,143,96)的第一RGB分量(200)將被小型化RGB色11 * 11 = 200 *255分之15*
從12-恢復到24位位
upSizedColor = maxOfRangeToDownConvertFrom/maxOfRangeToDownConvertTo * colToUpSize
例 187 = 255/15 * 11
有一些非常好的面向復古的解釋here和here做這個東西,再加上他們得到了一個在線顏色位深度減少。強烈推薦!
注:EAB也有一些信息。感謝所有幫助!管理員,即使我把這個設置爲正確的答案,隨時給弗洛里斯點,因爲它導致我在正確的軌道上,謝謝。
http://en.wikipedia.org/wiki/List_of_monochrome_and_RGB_palettes#12-bit_RGB說有用於每個R,G的只有4位,和B.
換句話說 - 我懷疑,如果你把上半每個16位十六進制對,並將它們串在一起,就會得到Amiga顏色。
在您的例子:
R = 0xFF
G = 0xFF
B = 0xF0
取上半部分(粗體以上):
AmigaRGB = ((R & 0xF0) << 4) + (G & 0xF0) + (B >> 4)
這確實導致0x0FF0
要在另一個方向:
R = AmigaRGB & (0x0F00) >> 4
G = AmigaRGB & (0x00F0)
B = AmigaRGB & (0x000F) << 4
如果您想成爲看上你可以添加一些圓角,抖動等
當然在HTML中使用的終值是
HTML_RGB = R<<16 + G<<8 + B
我希望這有助於。
這取決於你想使用的值,直接硬件訪問或graphics.library。
對於直接硬件訪問或graphics.library - > setRGB4/loadRGB4,您需要轉換爲16位字,其中15-12位不關心:xRGB(每個半字節4位)。只需扔掉HTML十六進制值的每個第二位數字即可。對於graphics.library(版本> = 39) - > setRGB32/loadRGB32,您需要3x32位,MSB調整到左側(位31)。這意味着你將HTML值分成R,G和B(每個2個),並用六個零填充到右邊。
HTML:#123456 setRGB32:#$ 1200多萬,#$ 3400萬,#$ 5600萬
對於直接訪問硬件的AA-顏色寄存器,它只是谷歌。它的操作複雜,因爲只有32個12位顏色寄存器和通過控制寄存器選擇bank和lower/upper half的bank-switching。
你想要像http://www.symbolengine.com/amiguide/ http://www.unsatisfactorysoftware.co.uk/index.php?pg=guideml –
不是amiga顏色4bit-per-通道如此4位阿爾法,4位紅色,4位綠色,4位藍色? –
供參考:[IFF ILBM圖形格式](http://en.wikipedia.org/wiki/ILBM),[HAM圖形模式](http://en.wikipedia.org/wiki/Hold-And-Modify )。請記住,不同的Amiga型號具有不同的圖形功能,所以沒有固定的Amiga顏色格式;希望我給出的鏈接將有所幫助,但理想情況下,您需要更多地解釋您希望獲得更多幫助的格式。 – Spudley