我有一個從0-1的值列表。我想通過使用將這些浮點值轉換爲RGB值的漸變將此列表轉換爲圖像。 Java中有沒有提供這種功能的工具?Java中的漸變顏色查找
1
A
回答
0
0應該映射0
1應該映射255
記住,你需要他們的3做一個顏色
所以乘以255浮點數,並投它爲int。
0
也許GradientPaint可以做你想做的。目前還不清楚如何將浮點值列表轉換爲漸變。通常情況下,漸變由兩種顏色和一些在這些顏色之間插值的機制組成。 GradientPaint
實現線性漸變。
0
假設有由對應於RGB值64個000三元組的陣列,這樣的:
final Random rand = new Random();
final float[] f = new float[320*200*3];
for (int i = 0; i < f.length; i++) {
f[i] = rand.nextFloat(); // <-- generates a float between [0...1.0[
}
說你有一個具有一個大小的類型INT_ARGB的320×200(64萬個像素)(一個BufferedImage每值+ 8位8位爲α水平):
final BufferedImage bi = new BufferedImage(320, 200, BufferedImage.TYPE_INT_ARGB);
然後,你可以轉換你浮陣列RGB值和填充圖像這樣做:
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 200; y++) {
final int r = (int) (f[x+y*200*3] * 255.0);
final int g = (int) (f[x+y*200*3+1] * 255.0);
final int b = (int) (f[x+y*200*3+2] * 255.0);
bi.setRGB(x, y, 0xFF000000 | (r << 16) | (g << 8) | b);
}
}
請注意,你會顯示這個圖像,它會顯示爲灰色,但如果你放大它,你會看到它實際上是由完全隨機的彩色像素。這只是隨機數發生器是如此的好,它在屏幕上都看起來灰色:)
相關問題
- 1. Javascript顏色漸變
- 2. 顏色漸變(ColdFusion)
- 3. 顏色漸變的背景
- 4. 帶顏色漸變的UIBeziepath
- 5. Three.js行的顏色漸變
- 6. textcolor的顏色漸變
- 7. 用顏色製作顏色漸變:
- 8. 逐漸改變顏色
- 9. CSS創建顏色漸變
- 10. 漸變顏色拉斐爾
- 11. FabricJS漸變顏色值
- 12. 生成顏色漸變
- 13. DarkGDK顏色漸變代碼
- 14. 生成顏色漸變
- 15. LWUIT中標籤的漸變顏色
- 16. openCV中的線性顏色漸變
- 17. AchartEngine中折線圖的漸變顏色
- 18. libGDX中字體的漸變顏色
- 19. 如何找出漸變中的所有顏色?
- 20. CoreGraphics的一條線的顏色漸變
- 21. 的JPanel刪除顏色漸變
- 22. 如何複製UINavigationBar的漸變顏色?
- 23. jQuery的顏色拾取和CSS3漸變
- 24. CAShapeLayer上的漸變顏色效果
- 25. 的UILabel與顏色漸變到標籤
- 26. R:ggplot更好的漸變顏色
- 27. ggplot2帶顏色漸變的圓環圖
- 28. 在java中向漸變面板添加顏色?
- 29. java獲得像素的顏色透明,漸變疊加
- 30. 顏色小於50%時刪除漸變
這只是轉換爲RGB Photoshop相似的值,對於梯度勞倫斯建議一個很好的工具,你可能不需要做的RGB轉換 – 2010-12-12 20:55:58