gpt4 book ai didi

java - 用像素(不是图像)为 JPanel 着色

转载 作者:行者123 更新时间:2023-12-02 06:17:56 27 4
gpt4 key购买 nike

我想用 Java 创建一个框架,可以在其中绘制任何形状并为形状着色。我完成了第一部分,现在我在为图像着色时遇到了问题。我有一个带有面板的框架,我使用 drawLine() 函数直接在面板上绘图。我想使用像素为形状着色。如何根据像素值为面板(包含绘图)着色?

*注意:这不是图像!给面板上色。我尝试了很多论坛。但一切都与图像着色有关。如何按像素为面板着色?

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.applet.*;

public class colorch extends Applet implements MouseListener {
int oldx, oldy, x, y;
int flag = 1;
Panel mypanel;

public void init() {
mypanel = new Panel();
add(mypanel);
addMouseListener(this);
Panel colorpan = new Panel();
}

public void mouseExited(MouseEvent e6) { }

public void mouseEntered(MouseEvent e7) { }

public void mousePressed(MouseEvent e8) {
oldx = e8.getX();
oldy = e8.getY();
}

public void mouseClicked(MouseEvent e) { }

public void mouseReleased(MouseEvent e3) {
x = e3.getX();
y = e3.getY();
Graphics g = getGraphics();
g.drawLine(oldx, oldy, x, y);
}
}

示例输出:

enter image description here

现在我想给三角形内部着色。所以我尝试按该图像中的每个像素进行着色。

谢谢。

最佳答案

您必须实现此类功能 - 使用 flood fill algorithm .

这里还有一些来自 SO - Flood fill using a stack 的代码

关于java - 用像素(不是图像)为 JPanel 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com