package com.brightgenerous.zxing.deleg.javase;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import com.brightgenerous.zxing.EncodeArguments;
import com.brightgenerous.zxing.javase.BufferedImageEncodeArguments;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
class ImageCreaterImpl<T> implements ImageCreater<T> {
{
check();
}
private static void check() {
try {
Class.forName(ImageIO.class.getName());
Class.forName(BufferedImage.class.getName());
Class.forName(MatrixToImageWriter.class.getName());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@Override
public boolean useful(EncodeArguments args) {
if (args == null) {
return true;
}
if (args instanceof BufferedImageEncodeArguments) {
return true;
}
return false;
}
@Override
public T toImage(BitMatrix bitMatrix) {
return (T) MatrixToImageWriter.toBufferedImage(bitMatrix);
}
@Override
public void writeToStream(BitMatrix bitMatrix, String format, OutputStream outputStream)
throws IOException {
MatrixToImageWriter.writeToStream(bitMatrix, format, outputStream);
}
}