2

我刚刚观看了http://simplecaptcha.sourceforge.net/的链接,它提供了一些图像的演示,显示验证码可以设计为彩色的,因此它不仅可以是黑白的。但由于某种原因,我找不到任何关于如何控制 SimpleCaptcha 颜色的教程 :( 如果你知道一些片段或教程,请分享它们。

感谢所有有用的评论:)

4

2 回答 2

6

你想要哪个部分是彩色的?例如,您可以通过WordRenderer. 如何使用他们的例子Captcha.Builder可以在他们的网站上找到。您可以将以下内容添加到任何这些示例中:

List<java.awt.Color> textColors = Arrays.asList(
     Color.BLACK, Color.BLUE, Color.RED);
List<java.awt.Font> textFonts = Arrays.asList(
     new Font("Arial", Font.BOLD, 40), 
     new Font("Courier", Font.BOLD, 40));

java.awt.Color backgroundColor = Color.ORANGE;

Captcha captcha = new Captcha.Builder(200, 50)
    .addText(
        new DefaultTextProducer(), 
        new DefaultWordRenderer(textColors, textFonts))
    .addBackground(new FlatColorBackgroundProducer(backgroundColor))
    .build();

DefaultWordRenderer接受一种List颜色和字体,以便您可以根据请求随机选择几种颜色/字体。所以,如果你只为它提供一种颜色和字体,那么你每次都会得到它们。如果您为其提供五种颜色和一种字体,那么您每次都会获得相同的字体,但颜色将从您提供的五种中随机选择。

上面的示例使用FlatColorBackgroundProducer,但还有其他选项,包括GradiatedBackgroundProducerSquigglesBackgroundProducer

于 2011-07-01T02:58:56.800 回答
1

可能使用类 ColoredEdgesWordRenderer。看看http://simplecaptcha.sourceforge.net/javadocs/index.html

于 2011-07-01T02:56:57.687 回答