Простая капча и сделать разные цвета - PullRequest
2 голосов
/ 01 июля 2011

Я только что посмотрел ссылку как http://simplecaptcha.sourceforge.net/, и она демонстрирует некоторые изображения, показывающие, что капчу можно сделать цветной, поэтому она может быть не только черно-белой.Но по какой-то причине я не смог найти никаких учебных пособий о том, как управлять цветами SimpleCaptcha :( Если вам известны некоторые фрагменты или учебные пособия, поделитесь ими, пожалуйста.

Все полезные комментарии приветствуются:)

Ответы [ 2 ]

6 голосов
/ 01 июля 2011

Какую часть вы хотите быть в цвете? Вы можете, например, управлять цветом текста с помощью 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, но существуют и другие параметры, включая GradiatedBackgroundProducer и SquigglesBackgroundProducer.

1 голос
/ 01 июля 2011

Вероятно, с использованием класса ColoredEdgesWordRenderer.Взгляните на http://simplecaptcha.sourceforge.net/javadocs/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...