好吧,我想知道三件事情,所以现在我的房子背景是白色的,我如何让它成为蓝色和绿色的草底部分。我的线路向下,如何向东北方向移动以制作房屋天花板的三角形?关于添加一棵树的最后一件事我是做了一堆弧来获得"灌木的曲线"这棵树?
import java.awt.Color;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Polygon;
public class House extends Canvas {
public House() {
setBackground(Color.WHITE);
}
public void paint(Graphics window) {
window.setColor(Color.BLUE);
window.drawRect(250, 300, 50, 125);
window.fillRect(350, 300, 50, 135);
window.setColor(Color.PINK);
window.drawRect(200, 150, 350, 300);
window.fillRect(200, 150, 350, 300);
window.setColor(Color.GREEN);
Polygon poly = new Polygon();
poly.addPoint(100, 200);
poly.addPoint(200, 400);
poly.addPoint(300, 200);
window.fillPolygon(poly);
}
}
答案 0 :(得分:3)
如何使草底部分为蓝色和绿色
请勿使用“魔术”数字,使用绝对已知值,例如getWidth
和getHeight
,例如:
window.setColor(Color.BLUE);
window.fillRect(0, 0, getWidth(), getHeight() / 2);
window.setColor(Color.GREEN);
window.fillRect(0, getHeight() / 2, getWidth(), getHeight() / 2);
我的线路向下,如何向东北方向移动以制作房屋天花板的三角形?
这正是你告诉它的,记住,上/左角是0x0
,意思是坐标随着向右/向下移动而增大
Polygon poly = new Polygon();
poly.addPoint(100, 200);
poly.addPoint(200, 100);
poly.addPoint(300, 200);
关于添加树的最后一件事我是否制作了一堆弧来获得树的“灌木曲线”?
您可以使用Graphics#fillOval
或Graphics#drawArc
我强烈建议您在使用Graphics
时查看2D Graphics的技巧和想法。
我还建议您查看Painting in AWT and Swing和Performing Custom Painting,了解绘画在AWT / Swing中的实际效果