0

我们正在使用 SimpleCaptcha http://simplecaptcha.sourceforge.net/在我们的注册表单中创建验证码(在 Tomcat 上运行)

我们使用以下方法创建验证码:

Captcha captcha = new Captcha.Builder(300, 57).build(); 

验证码显示如下: 在此处输入图像描述

但是当我向验证码添加更多选项时Captcha captcha = new Captcha.Builder(300, 57).addNoise().build();,它仍然以相同的方式显示而没有噪音。我尝试了更多选择,但仍然得到相同的结果。

请问有谁知道为什么会这样?

谢谢,

库尔特

4

1 回答 1

1

我尝试了上面的代码(使用 java 1.6 版本),但它什么也没产生。原因是您没有.addText()。(我会把它写成评论,但我没有足够的声誉)。这向我表明您上面的代码不是您的实际代码,也许您在发布时忘记了一些东西。

这是我使用的有效方法:

public class MyCaptchaServlet extends SimpleCaptchaServlet
{
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {
        Captcha captcha = new Captcha.Builder(120,40).addText().addBorder().gimp().addBackground(new GradiatedBackgroundProducer()).build();

        CaptchaServletUtil.writeImage(response, captcha.getImage());

        request.getSession().setAttribute(Captcha.NAME, captcha);
    }
}

在 .build() 之前添加 .addNoise() 确实会显示噪音。

于 2011-06-08T22:39:32.333 回答