【问题标题】:Coloring a JPanel with pixels (Not Image)用像素为 JPanel 着色(不是图像)
【发布时间】:2014-02-12 17:35:52
【问题描述】:

我想在 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);
    }
}

样本输出:

现在我想在三角形内部着色。所以我试图通过这张图片中的每个像素来着色。

谢谢。

【问题讨论】:

  • 在这里分享你的代码,你为这个任务做了什么

标签: java colors awt panel pixel


【解决方案1】:

你必须实现这样的功能 - 使用flood fill algorithm

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    相关资源
    最近更新 更多