X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=zxingorg%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fweb%2FDecodeEmailTask.java;h=550ff3f4a9cdef19c16f88ca9f3b4841db8663b5;hb=608fe313d82bb79f0f5a96856697bdfb4a6305d3;hp=8e61e54165c01392ca7640e0e2d831d8aa240bf5;hpb=7d63fd5b1c4e8136b4ca5833445f9e587c85a400;p=zxing.git diff --git a/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java b/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java index 8e61e541..550ff3f4 100644 --- a/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java +++ b/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java @@ -16,11 +16,22 @@ package com.google.zxing.web; +import com.google.zxing.BinaryBitmap; +import com.google.zxing.LuminanceSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.Reader; import com.google.zxing.ReaderException; import com.google.zxing.Result; -import com.google.zxing.client.j2se.BufferedImageMonochromeBitmapSource; +import com.google.zxing.client.j2se.BufferedImageLuminanceSource; +import com.google.zxing.common.HybridBinarizer; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.Properties; +import java.util.TimerTask; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.imageio.ImageIO; import javax.mail.Address; @@ -29,21 +40,14 @@ import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; +import javax.mail.Service; import javax.mail.Session; import javax.mail.Store; import javax.mail.Transport; -import javax.mail.Service; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; -import java.awt.image.BufferedImage; -import java.io.UnsupportedEncodingException; -import java.io.IOException; -import java.util.Properties; -import java.util.TimerTask; -import java.util.logging.Level; -import java.util.logging.Logger; /** * A {@link TimerTask} which repeatedly checks an e-mail account for messages with an attached @@ -119,7 +123,8 @@ final class DecodeEmailTask extends TimerTask { } } - private void processMessage(Session session, Message message) throws MessagingException, IOException { + private void processMessage(Session session, Message message) throws MessagingException, + IOException { Object content = message.getContent(); if (content instanceof MimeMultipart) { MimeMultipart mimeContent = (MimeMultipart) content; @@ -141,7 +146,9 @@ final class DecodeEmailTask extends TimerTask { Reader reader = new MultiFormatReader(); Result result = null; try { - result = reader.decode(new BufferedImageMonochromeBitmapSource(image), DecodeServlet.HINTS); + LuminanceSource source = new BufferedImageLuminanceSource(image); + BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); + result = reader.decode(bitmap, DecodeServlet.HINTS); } catch (ReaderException re) { log.info("Decoding FAILED"); } @@ -184,4 +191,4 @@ final class DecodeEmailTask extends TimerTask { new DecodeEmailTask(emailAddress, emailAuthenticator).run(); } -} \ No newline at end of file +}