如何使用java.awt添加文本大纲。*?

时间:2014-07-25 17:28:20

标签: java image image-processing text awt

如何使用java.awt。*?

向图像添加带有轮廓的文本

以下示例:

example

1 个答案:

答案 0 :(得分:0)

我可以指导你,但你应该知道awt工作的基本功能 看看平滑 Smoothing a jagged。在最终版本中获得(粗略)轮廓的算法相对较快。创建GeneralPath比追加Area个对象要快得多。For better understanding refer this

重要的是这个方法:

public Area getOutline(Color target, BufferedImage bi) {
    // construct the GeneralPath
    GeneralPath gp = new GeneralPath();

    boolean cont = false;
    int targetRGB = target.getRGB();
    for (int xx=0; xx<bi.getWidth(); xx++) {
        for (int yy=0; yy<bi.getHeight(); yy++) {
            if (bi.getRGB(xx,yy)==targetRGB) {
                if (cont) {
                    gp.lineTo(xx,yy);
                    gp.lineTo(xx,yy+1);
                    gp.lineTo(xx+1,yy+1);
                    gp.lineTo(xx+1,yy);
                    gp.lineTo(xx,yy);
                } else {
                    gp.moveTo(xx,yy);
                }
                cont = true;
            } else {
                cont = false;
            }
        }
        cont = false;
    }
    gp.closePath();

    // construct the Area from the GP & return it
    return new Area(gp);
}