hola, estoy intentando devolver un array de bits de una imagen a la cual le inserto texto, este es el código, el problema es que la imagen al ser png, al transformarla pierde la transparencia y aparece con fondo negro, este es el código.
public InputStream getInputStream () throws MalformedURLException {
ImageIcon imageIcon = new ImageIcon("c:/imagenes/" + nameImage);
Image imageResize = imageIcon.getImage();
ImageIcon imageIconResize = new ImageIcon (imageResize);
int resizeWidth = imageIconResize.getIconWidth();
int resizeHeight = imageIconResize.getIconHeight();
Panel p = new Panel();
BufferedImage bi = new BufferedImage(resizeWidth, resizeHeight,
BufferedImage.TYPE_INT_RGB);
Graphics2D big = bi.createGraphics();
big.drawImage(imageResize, 0, 0, p);
FontRenderContext frc = big.getFontRenderContext();
Font f = new Font("Times",Font.BOLD,resizeWidth/5);
String s = new String (num);
TextLayout tl = new TextLayout(s,f,frc);
float sw = (float)tl.getBounds().getWidth();
AffineTransform transform = new AffineTransform();
transform.setToTranslation(resizeWidth/2-sw/2,resizeHeight*7/8);
big.setColor(Color.white);
tl.draw(big,resizeWidth/2-sw/3,resizeHeight/3);
ByteArrayOutputStream os = new ByteArrayOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);
encoder.encode(bi);
byte[] byteArray = os.toByteArray();
return new ByteArrayInputStream ( byteArray );
}