Module bus.extra

Class LineProvider

java.lang.Object
org.miaixz.bus.extra.captcha.AbstractProvider
org.miaixz.bus.extra.captcha.provider.LineProvider
All Implemented Interfaces:
Serializable, org.miaixz.bus.core.Provider, CaptchaProvider

public class LineProvider extends AbstractProvider
CAPTCHA provider that uses interfering lines.
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • LineProvider

      public LineProvider(int width, int height)
      Constructor with default 5-character code and 150 interfering lines.
      Parameters:
      width - Image width.
      height - Image height.
    • LineProvider

      public LineProvider(int width, int height, int codeCount, int lineCount)
      Constructor.
      Parameters:
      width - Image width.
      height - Image height.
      codeCount - Number of characters.
      lineCount - Number of interfering lines.
    • LineProvider

      public LineProvider(int width, int height, CodeStrategy generator, int interfereCount)
      Constructor.
      Parameters:
      width - Image width.
      height - Image height.
      generator - CAPTCHA code generator.
      interfereCount - Number of interfering elements.
    • LineProvider

      public LineProvider(int width, int height, int codeCount, int interfereCount, float sizeBaseHeight)
      Constructor.
      Parameters:
      width - Image width.
      height - Image height.
      codeCount - Number of characters.
      interfereCount - Number of interfering elements.
      sizeBaseHeight - Font size as a multiplier of the height.
  • Method Details

    • createImage

      public Image createImage(String code)
      Description copied from class: AbstractProvider
      Creates the CAPTCHA image based on the generated code.
      Specified by:
      createImage in class AbstractProvider
      Parameters:
      code - The CAPTCHA code.
      Returns:
      The CAPTCHA image.