如何將HEX的顏色值轉換爲smali顏色(和背面)?例如:#ff212121
(十六進制) - >-0xdededf
(小數)。 #df3192b8
- >-0x20ce6d48
等如何將HEX顏色轉換爲smali顏色(Java)?
回答
沒有必要轉換任何東西。如果您的十六進制代碼是#df3192b8
,那麼您可以使用0xdf3192b8
。
smali中的32位整數常量可用-2^31
和2^32-1
(而不是2^31-1
)之間的值指定。基本上,它是可能的有符號和無符號32位值的組合。
當然,由於java只有有符號整數,因此當您指定一個範圍爲2^31
-2^32 - 1
的值時,虛擬機會將其解釋爲負數,這是baksmali在拆卸時使用的默認表示形式一類。這就是爲什麼你在反彙編中看到像-0x20ce6d48
而不是0xdf3192b8
這樣的值。但是這兩個值都會生成相同的字節碼/指定相同的顏色。
爲了「轉回」,如果該值爲正數,則不需要做任何事情。如果該值爲負值,只需將0x100000000
添加到該值。例如-0x20ce6d48 + 0x100000000 = 0xdf3192b8
,所以值-0x20ce6d48
對應於#df3192b8
的十六進制顏色代碼。
- 在新的十六進制數的前面做的所有數字的十六進制減法的顏色從「F」
- 前追加-0x。
不需要將十六進制顏色代碼轉換爲其有符號表示形式。查看我的答案瞭解更多詳情。 – JesusFreke
另外,你描述的是補碼,但有符號整數使用二進制補碼錶示,所以你的轉換是關閉的。 – JesusFreke
- 1. 將HTML HEX顏色或RGB元組轉換爲X11顏色
- 2. 如何將RGB顏色或Hex轉換爲HSB?
- 3. 如何將顏色字符串轉換爲顏色對象?
- 4. 將顏色轉換爲ConsoleColor?
- 5. 如何將RGB轉換爲HTML顏色?
- 6. 將CMYK PDF轉換爲專色(顏色)
- 7. 將HEX轉換爲最接近的X11顏色編號
- 8. 顏色轉換
- 9. 如何十六進制顏色轉換爲RGB顏色(24位)
- 10. 將RGBA顏色轉換爲HTML顏色代碼
- 11. 將十六進制顏色代碼轉換爲顏色名稱
- 12. 直接將CMYK顏色轉換爲HSV顏色
- 13. 將12位顏色值轉換爲8位顏色值C++
- 14. 將RGB顏色轉換爲C中最接近的ACI顏色#
- 15. 將文本顏色轉換爲bg上的顏色
- 16. Make imagettftext recognice HEX顏色
- 17. 轉換16bit顏色爲32bit
- 18. 顏色轉換器
- 19. 將RGB轉換爲CIELAB顏色空間
- 20. XAML:將筆刷轉換爲顏色?
- 21. Matlab將RBG顏色轉換爲decimale值
- 22. 將RGB顏色轉換爲OLE_Color
- 23. 將XYZ顏色轉換爲RGB
- 24. 將Pantone顏色轉換爲RGB?
- 25. php將irc顏色轉換爲html
- 26. 將顏色名稱轉換爲RGB
- 27. 將圖像轉換爲顏色數組
- 28. 將html或rgb顏色轉換爲system.drawing.brush
- 29. Actionscript flex:將#個顏色轉換爲uint
- 30. Android - 將ARGB顏色轉換爲RGB
http://touchwizreborn.blogspot.com/2016/02/how-to-convert-hex-color-code-to-smali.html – assylias
這比我想象的要容易。奇怪的是,我在Google中搜索時未找到此鏈接。謝謝! –
該鏈接不正確。最終你會得到一個與原始顏色相同的顏色。 – JesusFreke