I'm trying to create barcode using barcode4j
lib. This is what I've got: And it looks smooth. This is how I do:
BitmapCanvasProvider provider = null;
Interleaved2Of5Bean bean = new Interleaved2Of5Bean();
int dpi = 100;
// Configure the barcode generator
bean.setModuleWidth(UnitConv.in2mm(1.0f /
dpi)); // makes the narrow
// bar
// width exactly
// one
// pixel
bean.doQuietZone(false);
provider =
new BitmapCanvasProvider(100, BufferedImage.TYPE_BYTE_GRAY,
true, 0);
bean.generateBarcode(provider, request.getParameter("barcode"));
provider.finish();
BufferedImage barcodeImage = provider.getBufferedImage();
response.setContentType("image/gif");
OutputStream outputStream = response.getOutputStream();
ImageIO.write(barcodeImage, "gif", outputStream);
outputStream.close();
How to increase its difinition?
Ok, I found a solution . This is how I did:
Interleaved2Of5Bean bean = new Interleaved2Of5Bean();
bean.setHeight(10d);
bean.doQuietZone(false);
OutputStream out =
new java.io.FileOutputStream(new File("output.png"));
BitmapCanvasProvider provider =
new BitmapCanvasProvider(out, "image/x-png", 110,
BufferedImage.TYPE_BYTE_GRAY, false,
0);
bean.generateBarcode(provider, request.getParameter("barcode"));
provider.finish();
BufferedImage barcodeImage = provider.getBufferedImage();
response.setContentType("image/x-png");
OutputStream outputStream = response.getOutputStream();
ImageIO.write(barcodeImage, "png", outputStream);
outputStream.close();