package project.blockchain.internal;
|
|
import java.io.File;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.google.zxing.BarcodeFormat;
|
import com.google.zxing.EncodeHintType;
|
import com.google.zxing.MultiFormatWriter;
|
import com.google.zxing.client.j2se.MatrixToImageWriter;
|
import com.google.zxing.common.BitMatrix;
|
|
import kernel.util.UUIDGenerator;
|
import project.Constants;
|
import project.blockchain.QRProducerService;
|
|
public class QRProducerServiceImpl implements QRProducerService {
|
|
@Override
|
public String generate(String content) {
|
String image_name = "/qr/" + UUIDGenerator.getUUID() + ".png";
|
String filepath = Constants.IMAGES_DIR + image_name;
|
File file = new File(filepath);
|
int width = 691;
|
int height = 691;
|
String format = "png";
|
Map hints = new HashMap();
|
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
|
try {
|
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
|
MatrixToImageWriter.writeToFile(bitMatrix, format, file);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
return image_name;
|
}
|
|
}
|