From b46f6795ce1dd91ff3c93e494d77aa2e3746d37c Mon Sep 17 00:00:00 2001 From: Rahul Rudragoudar Date: Thu, 2 Sep 2021 14:53:58 +0530 Subject: [PATCH] Set DPI for FilterCaptcha provider Signed-off-by: Rahul Rudragoudar --- src/main/scala/lc/captchas/FilterChallenge.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/scala/lc/captchas/FilterChallenge.scala b/src/main/scala/lc/captchas/FilterChallenge.scala index 8c21e78..c7f2b70 100644 --- a/src/main/scala/lc/captchas/FilterChallenge.scala +++ b/src/main/scala/lc/captchas/FilterChallenge.scala @@ -8,6 +8,8 @@ import java.awt.Color import lc.captchas.interfaces.ChallengeProvider import lc.captchas.interfaces.Challenge import java.util.{List => JavaList, Map => JavaMap} +import java.io.ByteArrayOutputStream +import lc.misc.PngImageWriter class FilterChallenge extends ChallengeProvider { def getId = "FilterChallenge" @@ -41,7 +43,15 @@ class FilterChallenge extends ChallengeProvider { var image = ImmutableImage.fromAwt(canvas) val s = scala.util.Random.nextInt(2) image = filterTypes(s).applyFilter(image) - new Challenge(image.bytes(new nio.PngWriter()), "image/png", secret) + val img = image.awt() + val baos = new ByteArrayOutputStream() + try { + PngImageWriter.write(baos, img); + } catch { + case e: Exception => + e.printStackTrace() + } + new Challenge(baos.toByteArray, "image/png", secret) } def checkAnswer(secret: String, answer: String): Boolean = { secret == answer