andbit che libreria usi per i barcode?
Non ho mai gestito barcode da Java.
Comunque la questione è sempre la "solita" quando si vogliono rapportare pixel a dimensioni fisiche. Se hai un'area fisica es. 30x25 millimetri, quanti pixel vuoi spalmarci? Se ci spalmi 30x25 pixel hai una densità bassissima che è una schifezza, perché 1 pixel è grande 1 millimetro. Se ce ne spalmi 300x250 pixel hai una densita maggiore (con pochi calcoli si tratta qui di 254 dpi che è abbastanza buona).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Come ho detto prima, nel Graphics con la Printing API di Java per default 1 unità = 1/72 pollice.
Si può cambiare con uno scalamento esplicito della matrice di trasformazione del Graphics oppure usando il drawImage che riceve width/height.
Fai così, supponiamo di voler avere 200 dpi (che è buona come densità). Per occupare 30x25mm la immagine dovrà essere quindi di 236x197 pixel. Poi la stampi con il drawImage indicando la dimensione di 85x71 che (attenzione!) sono le unità in 1/72 pollice.
g.drawImage(img, x, y, 85, 71, null); // x/y che vuoi
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Antbin ,ho usato :
barcode.renderBarcode("c://ean13.gif");
l'immagine creata è 115x62
barcode.setResolution(200);
g.drawImage(img, 15, 30, 85, 71, null);
ho stampato perfettamente il barcode.
come usavo io il drawImage distorcevo troppo l'immagine senza mantenere le proporzioni.perchè ora funziona perfettamente.
Grazie mille come sempre.