Ho notato una significativa perdita di qualità utilizzando ImageIO.write, come posso disabilitare la compressione automatica?Perdita di qualità utilizzando ImageIO.write
val baos: ByteArrayOutputStream = new ByteArrayOutputStream
val newBi = new BufferedImage(img.getWidth, img.getHeight, BufferedImage.TYPE_INT_RGB)
val gr = newBi.createGraphics()
gr.drawImage(img, 0, 0, img.getWidth(), img.getHeight(), Color.WHITE, null)
ImageIO.write(newBi, "jpeg", baos)
val b = baos.toByteArray
baos.close()
Ho provato questi metodi ma per alcuni motivi l'immagine di output è piena di nero. Sai da dove potrebbe venire? – Roch
Scusa, sapevo di questi metodi (e che il png è lento), ma in generale scelgo png. –
Penso che sia necessario passare 'param' indietro a' writer', come: 'writer.write (null, new IIOImage (image, null, null), param)' –