X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=zxingorg%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fweb%2FDecodeEmailTask.java;h=550ff3f4a9cdef19c16f88ca9f3b4841db8663b5;hb=608fe313d82bb79f0f5a96856697bdfb4a6305d3;hp=1b8babd26935a9d4c8cc910cf5bab87e8a3dacf5;hpb=a8a4144141d47c240a4a630bf349ff71e65f2dff;p=zxing.git diff --git a/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java b/zxingorg/src/com/google/zxing/web/DecodeEmailTask.java index 1b8babd2..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,28 +40,21 @@ 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 * image. When one is found it attempts to decode the image and replies with the decoded messages * by e-mail. * - * @author Sean Owen (srowen@google.com) + * @author Sean Owen */ final class DecodeEmailTask extends TimerTask { @@ -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 +}