我正在使用24x24像素圖標。我希望能夠將此圖標中的特定顏色更改爲不同的顏色。例如,將白色區域變成紅色。更改ImageIcon中的特定顏色
2
A
回答
3
我不知道這樣做的API方法。並且默認情況下,Images
不可寫。但是,如果你有一個BufferedImage
,你可以做這樣的:
public void changeColor(BufferedImage img, Color old, Color new) {
final int oldRGB = old.getRGB();
final int newRGB = new.getRGB();
for (int x = 0; x < img.getWidth(); x++) {
for (int y = 0; y < img.getHeight(); y++) {
if (img.getRGB(x, y) == oldRGB)
img.setRGB(x, y, newRGB);
}
}
}
這不是最有效的方式做到這一點(這是可能的RGB數據讀取到一個數組,而不是一個像素的同時) ,但對於24x24的圖像,它不應該是一個問題。
1
您可以使用BufferedImage做到這一點。看看Java Image I/O documentation。
相關問題
- 1. 更改圖像中的特定顏色
- 2. 更改特定字符串的顏色
- 3. 更改特定的行顏色uipicker
- 4. 更改特定圖標的顏色NavigationDrawer
- 5. 更改特定行的顏色(TELERIK)
- 6. 更改特定單詞的顏色
- 7. jQuery:更改特定的文本顏色
- 8. 如何更改特定JButton的顏色
- 9. 動態更改特定顏色
- 10. 在特定時間後更改顏色
- 11. C#更改背景顏色特定行
- 12. 使用RGB將UIStatusBar顏色更改爲特定顏色?
- 13. 更改PowerPoint中表格中特定值的顏色
- 14. 在wx.Choice中更改列表中特定值的顏色
- 15. 如何更改PhpStorm中的特定關鍵字的顏色?
- 16. 如何將特定的RGB顏色更改爲PDF文件中的特定CMYK顏色?
- 17. 如何更改RichTextBox中特定行的背景顏色?
- 18. 如何更改標籤中特定單詞的顏色 - Swift 3
- 19. 如何在git中更改特定的字體顏色?
- 20. 用jquery更改特定html頁面中的背景顏色
- 21. 更改字符串中特定單詞的顏色
- 22. 更改java中的特定文本顏色
- 23. 是否可以更改gridview中特定單元格的顏色?
- 24. 如何更改直方圖中特定倉的顏色?
- 25. 更改datagrid中特定單元格的顏色?
- 26. 更改特定dxStatusBar1.Panel中文本的顏色
- 27. 更改HTML/CSS中特定字母的顏色
- 28. 如何在Microsoft Excel中更改特定字符的顏色
- 29. 更改xcode中特定代碼字的顏色
- 30. 更改表格中特定索引的顏色