Java 将绘制的椭圆圆转换为x、y坐标
我想将绘制的圆转换为x,y坐标,并存储在数组或字符串中。我必须使用这个数组来存储帧中的图像文件Java 将绘制的椭圆圆转换为x、y坐标,java,arrays,drawing,store,geometry,Java,Arrays,Drawing,Store,Geometry,我想将绘制的圆转换为x,y坐标,并存储在数组或字符串中。我必须使用这个数组来存储帧中的图像文件 private final DrawingPanel panel = new DrawingPanel(); private static int[] generateRandomValues(int maxX, int maxY, int minSize, int maxSize) { Rand
private final DrawingPanel panel = new DrawingPanel();
private static int[] generateRandomValues(int maxX, int maxY,
int minSize, int maxSize) {
Random random = new Random();
int[] values = new int[3];
values[0] = random.nextInt(maxX);
values[1] = random.nextInt(maxY);
values[2] = Math.min(random.nextInt(maxSize) + minSize, maxSize);
return values;
}
static class Circle {
int x, y, width, height;
public Circle(int x, int y, int width, int height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
public void draw(Graphics g) {
g.drawOval(x, y, width, height);
}
}
static class DrawingPanel extends JPanel {
List<Circle> circles = new ArrayList<>();
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
for (Circle circle : circles) {
circle.draw(g);
}
}
public void addCircle(Circle circle) {
circles.add(circle);
repaint();
}
@Override
public Dimension getPreferredSize() {
return new Dimension(400, 400);
}
}
我以后必须以图像格式存储数组
这是什么意思?点数组不是图像
如果您想知道屏幕上绘制的内容,则可以:
您如何检测所绘制的内容?请查看我编辑的问题。不确定您的意思。你能不能不只是列出。添加(circleValues)?
我想把画出来的圆转换成x,y坐标
-你是什么意思?在圆类中有x/y坐标。你真的需要学习如何问一个我们能理解的问题。它只会给我圆心的x和y坐标,而不是整个圆的坐标。我想把这个圆表示成一组小直线,上面有一个x,y坐标的列表,比如一个半径为(1,1,5,5)“1”的圆,列表=[(x,y坐标),(等),(等),(5,5)]的圆,它位于圆上。你如何检测出画了什么?请看我编辑的问题。不确定你的意思。你能不能不只是列出。添加(circleValues)?我想把画出来的圆转换成x,y坐标
-你是什么意思?在圆类中有x/y坐标。你真的需要学习如何问一个我们能理解的问题。它只会给我圆心的x和y坐标,而不是整个圆的坐标。我希望圆被表示为一组小直线,带有x,y坐标的列表,比如位于圆上的半径为(1,1,5,5)“1”列表=[(x,y坐标),(等),(等),(5,5)]的圆。
DrawingPanel drawPane = new DrawingPanel();
int[] circleValues = generateRandomValues(300, 300, 50, 150);
int x = circleValues[0];
int y = circleValues[1];
int width = circleValues[2];
int height = width;
Circle circle = new Circle(x, y, width, height);
drawPane.addCircle(circle);