(这是java)我有一个椭圆形,代表一个单位。我想要椭圆形的颜色代表单位的健康。所以一个完美健康的单位将全部是绿色的。随着装置的健康度下降,椭圆形开始从底部填充红色。所以,在50%的健康状况下,椭圆形的下半部分会变成红色,上半部分变成绿色,当单位死亡时变成全红。 我确信这里的解决方案必须是明显的和微不足道的,但我不能看到它。 非常感谢java图形 - 两种颜色的形状
0
A
回答
2
您可以在背景中绘制一个红色的椭圆形,然后绘制一个椭圆形和矩形的绿色交叉点,其中矩形在椭圆形下开始,然后进一步移动到顶部以显示更多的红色椭圆形。
你可能想在读了如何构建复杂形状出来元here
0
您可以设置图形剪辑当你画绿色的。只有剪辑中的内容才会被绘制。
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D)g.create();
g2d.setColor(Color.RED);
g2d.fillOval(10, 10, 200, 100);
g2d.setColor(Color.GREEN);
g2d.setClip(10, 10, 200, 50);
g2d.fillOval(10, 10, 200, 100);
}
1
覆盖paint方法是这样的:
public void paint(Graphics graphics)
{
super.paint(graphics);
Rectangle originalClipBounds = graphics.getClipBounds();
try
{
graphics.clipRect(100, 100, 100, 25);
graphics.setColor(Color.RED);
graphics.fillOval(100, 100, 100, 100);
}
finally
{
graphics.setClip(originalClipBounds);
}
try
{
graphics.clipRect(100, 125, 100, 75);
graphics.setColor(Color.BLUE);
graphics.fillOval(100, 100, 100, 100);
}
finally
{
graphics.setClip(originalClipBounds);
}
}
可能要使用一些双缓冲来增强它,但你得到的要点。
相关问题
- 1. 两种颜色的CSS自定义形状按钮
- 2. 画布进度矩形两种颜色
- 3. 用java设置各种形状的颜色
- 4. Java - 颜色矩形
- 5. 颜色区域形状PHP
- 6. 更改形状颜色
- 7. 通过svg将两种形状合并为一种形状
- 8. Java图形,使用点击事件改变图形的颜色
- 9. 条形图中的Rgraph条形颜色
- 10. 使用两种颜色在Spritekit中绘制矩形/圆形和三角形。 。 。
- 11. java swing图形颜色混合
- 12. JAVA长宁a图形颜色
- 13. 带颜色的条形图
- 14. Android - 多种颜色和大小可绘制的形状样式
- 15. WebGL绘制不同颜色的多种形状
- 16. 两种颜色的带状背景?
- 17. JavaScript来改变svg形状的颜色
- 18. 如何XOR形状下的颜色? (SDL2)
- 19. Android中的动画形状颜色
- 20. 更改形状的颜色Java3D
- 21. 更改EditText板的颜色,无形状
- 22. android - 引用形状内的颜色
- 23. 填充颜色不同的HTML形状
- 24. Android Opengl 2形状不同的颜色
- 25. 下一个点的颜色或形状
- 26. 绘制随机颜色的形状
- 27. 填充颜色的形状像Paper.io
- 28. Android的矩形两种不同的颜色
- 29. 条形图颜色c3.js
- 30. 颜色不变 - 蟒图形
太棒了!只是像我这样的新手需要:)非常感谢 – user143602 2009-07-24 15:34:00