Java-如何绘制图形
我试着四处看看,但不懂如何用java绘制图形。让我举个例子Java-如何绘制图形,java,graphics,methods,drawing,abstract,Java,Graphics,Methods,Drawing,Abstract,我试着四处看看,但不懂如何用java绘制图形。让我举个例子 假设我想创建一个自定义方法来填充三角形,它以三个点作为参数。如果无法创建图形对象,如何使用metod fillPolygon(int[]xPoints,int[]yPoints,int-nPoints)?您需要在其上绘制曲面。通常,这可以通过创建自己的组件(例如,通过在swing中扩展JPanel)然后覆盖其中的各种图形更新方法来实现。要实现的主要相关功能是获取作为参数传入的图形对象 您通常还可以将图形对象强制转换为,这将为您提供更丰富
假设我想创建一个自定义方法来填充三角形,它以三个点作为参数。如果无法创建图形对象,如何使用metod fillPolygon(int[]xPoints,int[]yPoints,int-nPoints)?您需要在其上绘制曲面。通常,这可以通过创建自己的组件(例如,通过在swing中扩展
JPanel
)然后覆盖其中的各种图形更新方法来实现。要实现的主要相关功能是获取作为参数传入的图形对象
您通常还可以将
图形对象强制转换为,这将为您提供更丰富的绘图原语集。您应该了解的第一件事(可能您已经知道)是图形是您写入的地方,而不是您写入的地方。大部分时间都是在电脑屏幕上,比如使用Swing时
您也可以通过写入从以下位置获得的图形
直接绘制空图像:
然后可以将该图像转换为任何图像格式
现在有一个愚蠢的例子,您不应该这样做(请参阅下面的真实Swing过程):
可以在Swing组件中绘制图像
public class MyJPanel extends Panel {
@Override
public void paintComponent(Graphics g) { // g is your screen
...
g.drawImage(myImage,...); // draw your image to the screen
...
}
}
标准回转程序是直接写入屏幕:
public class MyJPanel extends Panel {
@Override
public void paintComponent(Graphics g) { // g is your screen
...
g.fillPolygon(...); // directly writes your pixels to the screen buffer
...
}
}
(挑剔者的评论:由于Swing是双缓冲的,所以直接写入屏幕缓冲区并不完全正确。)请参阅:教程。下面是一个相关示例。
public class MyJPanel extends Panel {
@Override
public void paintComponent(Graphics g) { // g is your screen
...
g.fillPolygon(...); // directly writes your pixels to the screen buffer
...
}
}