我最近开了一个小项目,我想用zxing。我从here下载了来源。我能够成功构建核心和javase罐子。
当我尝试按照提供的示例编码时here我遇到了一个我不太明白的问题。到目前为止代码看起来像这样:
public static void main(String[] args)
{
Reader reader = new MultiFormatReader();
ImageIcon imageIcon = new ImageIcon(SOMEPATH);
Image image = imageIcon.getImage();
BufferedImage buffImage = new BufferedImage(
image.getWidth(null),
image.getHeight(null),
BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImage.createGraphics();
g.drawImage(image, null, null);
LuminanceSource source = new BufferedImageLuminanceSource(buffImage);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
}
正如您所看到的,这与DeveloperpersNotes中提供的代码几乎相同。但代码不会编译。错误消息是:
Type mismatch: cannot convert from BufferedImageLuminanceSource to LuminanceSource
有人知道我错过了什么吗?
编辑: 我的进口目前看起来像这样:
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Reader;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
我将core.jar和javase.jar添加到我的项目中。我都使用ant编译,将buildfiles保留为已下载。
答案 0 :(得分:1)
这一切都是正确的。你的进口必须有一些有趣的业务。这些类型肯定是兼容的。