He marcado preguntas con nombres similares, pero no responden a este caso de uso.Usar Graphics2D para superponer texto en una imagen almacenada y devolver una imagen almacenada
Básicamente, debía superponer texto (texto) en una coordenada determinada (x, y) Tengo la siguiente función en un paquete;
protected BufferedImage Process2(BufferedImage image){
Graphics2D gO = image.createGraphics();
gO.setColor(Color.red);
gO.setFont(new Font("SansSerif", Font.BOLD, 12));
gO.drawString(this.text, this.x, this.y);
System.err.println(this.text+this.x+this.y);
return image;
}
Siento que me falta algo obvio; cada referencia a Graphics2D que puedo encontrar es lidiar con cualquiera de los juegos o escribir directamente en un archivo, pero solo quiero que se devuelva una Imagen Buffered. con la superposición 'renderizada'
En el código actual, la imagen aparece sin cambios en el extremo.
Gracias!
¿Estás tratando de modificar un archivo de imagen? Lo que hagas debería funcionar, pero solo estás modificando una representación en memoria de la imagen. – Guillaume
Además, ¿está seguro de que xey están dentro de la imagen? Trate de pintar un cuadrado en coords (0,0) para una primera prueba – Guillaume
Como un lado, esta es una vez que es apropiado llamar a'disponer() 'en la instancia' Graphics2D'. – trashgod