Недавно я начал небольшой проект, в котором хотел использовать zxing. Я скачал исходники из здесь. Мне удалось успешно собрать ядро и банки javase.
Когда я попытался написать код в соответствии с образцом, представленным здесь, я столкнулся с проблемой, которую не совсем понял. Пока код выглядит так:
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));
}
Как видите, это практически тот же код, что и в DevelopersNotes. Но код не компилируется. Сообщение об ошибке:
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, оставив файлы сборки загруженными.