Salut à tous,

Je manipule des images destinées à l'impression, et par défaut les images sont imprimées en 72 dpi. Est-ce que quelqu'un sait comment choisir cette valeur (j'ai besoin de les imprimer à 150 dpi).

Voilà le code pour l'impression, si jamais...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
public void Impression(JPanel tp) {
	    File fileTemp = new File("temp");
	    BufferedImage image = new BufferedImage(tp.getWidth(), tp.getHeight(), BufferedImage.TYPE_INT_RGB);		
            Graphics2D g2 = image.createGraphics();
	    tp.paint(g2);
	    g2.dispose();
	    try {
			ImageIO.write(image, "png", fileTemp);
		} catch (IOException e) {		
			e.printStackTrace();
		}
		InputStream is = null;
		try {
			is = new BufferedInputStream(new FileInputStream(fileTemp));
		} catch (FileNotFoundException e1) {				
			e1.printStackTrace();
		}
		DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG;
		Doc myDoc = new SimpleDoc(is, flavor, null);	
 
		PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
                // l'ajout d'attribut par défaut permet de ne pas devoir els //sélectionner dans la boite de dialogue d'impression.
		aset.add(new Copies(1));
		aset.add(MediaSizeName.ISO_A4); 
 
		PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, aset);
		PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
		PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, aset);
		if (service != null) {
			DocPrintJob job = service.createPrintJob();
			try {
				job.print(myDoc, aset);
			} catch (PrintException e) {					
				ta.append(e.toString() + "\n");
			}
			}								
		fileTemp.delete();
}

Merci de votre aide