如何使用java.awt。*?
向图像添加带有轮廓的文本以下示例:
答案 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);
}