Проблема с реализацией ZXing-1.7

#zxing

#zxing

Вопрос:

Недавно я начал небольшой проект, в котором я хотел использовать 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));
}
 

Как вы можете видеть, это практически тот же код, который представлен в сносках для разработчиков. Но код не будет компилироваться. Сообщение об ошибке:

 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, оставив файлы сборки загруженными.

Ответ №1:

Все правильно. У вас, должно быть, есть какие-то забавные вещи в вашем импорте. Эти типы, безусловно, совместимы.

Комментарии:

1. вы что-нибудь изменили в коде? все еще выглядит правильно. Есть ли вероятность, что существуют конфликтующие версии кода? В какой строке возникает ошибка — здесь есть две возможности.

2. Спасибо, что указали, что это определенно должно сработать. После прочтения вашего ответа я отправился в ant, чтобы очистить скомпилированные банки и перекомпилировать их. Это работает 🙂