验证码是这样的:
有时验证码报错:
com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background: text bounds = {text=efgs
java.awt.geom.Rectangle2D$Float[x=0.0,y=-22.401367,w=20.91455,h=32.398438] ascent=22.401367 descent=7.3916016 leading=2.6054688
java.awt.geom.Rectangle2D$Float[x=40.91455,y=-30.08789,w=22.792969,h=44.003906] ascent=30.08789 descent=13.916016 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=83.70752,y=-33.09668,w=25.072266,h=48.404297] ascent=33.09668 descent=15.307617 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=128.77979,y=-33.09668,w=29.76123,h=48.404297] ascent=33.09668 descent=15.307617 leading=-0.0
} with fonts {java.awt.Font[family=Dialog,name=Arial,style=bold,size=26]
java.awt.Font[family=Dialog,name=Arial,style=bolditalic,size=29]
java.awt.Font[family=Dialog,name=Arial,style=plain,size=30]
java.awt.Font[family=Dialog,name=Arial,style=plain,size=33]
} versus image width = 110, height = 50
at com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:79)
at com.octo.captcha.image.ImageCaptchaFactory.getCaptcha(ImageCaptchaFactory.java:37)
at com.octo.captcha.engine.GenericCaptchaEngine.getNextCaptcha(GenericCaptchaEngine.java:81)
at com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaService.java:156)
at com.octo.captcha.service.AbstractManageableCaptchaService.generateCountTimeStampAndStoreCaptcha(AbstractManageableCaptchaService.java:342)
at com.octo.captcha.service.AbstractManageableCaptchaService.generateAndStoreCaptcha(AbstractManageableCaptchaService.java:331)
at com.octo.captcha.service.AbstractCaptchaService.getChallengeForID(AbstractCaptchaService.java:83)
at com.octo.captcha.service.multitype.GenericManageableCaptchaService.getImageChallengeForID(GenericManageableCaptchaService.java:81)
at com.jeecms.common.captcha.JcaptchaServlet.doGet(JcaptchaServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background: text bounds = {text=efgs
java.awt.geom.Rectangle2D$Float[x=0.0,y=-22.401367,w=20.91455,h=32.398438] ascent=22.401367 descent=7.3916016 leading=2.6054688
java.awt.geom.Rectangle2D$Float[x=40.91455,y=-30.08789,w=22.792969,h=44.003906] ascent=30.08789 descent=13.916016 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=83.70752,y=-33.09668,w=25.072266,h=48.404297] ascent=33.09668 descent=15.307617 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=128.77979,y=-33.09668,w=29.76123,h=48.404297] ascent=33.09668 descent=15.307617 leading=-0.0
} with fonts {java.awt.Font[family=Dialog,name=Arial,style=bold,size=26]
java.awt.Font[family=Dialog,name=Arial,style=bolditalic,size=29]
java.awt.Font[family=Dialog,name=Arial,style=plain,size=30]
java.awt.Font[family=Dialog,name=Arial,style=plain,size=33]
} versus image width = 110, height = 50
at com.octo.captcha.component.image.textpaster.ChangeableAttributedString.moveToRandomSpot(ChangeableAttributedString.java:184)
at com.octo.captcha.component.image.textpaster.ChangeableAttributedString.moveToRandomSpot(ChangeableAttributedString.java:111)
at com.octo.captcha.component.image.textpaster.DecoratedRandomTextPaster.pasteText(DecoratedRandomTextPaster.java:82)
at com.octo.captcha.component.image.wordtoimage.ComposedWordToImage.pasteText(ComposedWordToImage.java:130)
at com.octo.captcha.component.image.wordtoimage.AbstractWordToImage.getImage(AbstractWordToImage.java:52)
at com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:77)
... 38 more
|
|