Pregunta

¿Cómo podría "leer" la información gráfica debajo de un componente (Digamos como BufferedImage )?

Quiero hacer ese componente media translúcida (ya realizado) y aplicar efectos gráficos sobre la materia subyacente, como la falta de definición de todo elementos bajo que el componente ( pero no el propio componente ).

Mi enfoque es probable equivocada:
Intento conseguir información gráfica del ejemplo Graphics2D que me ha dado en el pintura (...) método, pero que está vacío, ¿verdad?

¿Fue útil?

Solución

Pregunta: ¿es su alto nivel de componentes (es decir, ¿quiere saber lo que está en el escritorio bajo un JFrame), o hacer lo que quiere saber acerca de los componentes que están en capas por debajo del componente

Si 1), entonces es una simple cuestión de tomar una captura de pantalla con el método java.awt.Robot createScreenCapture(Rectangle) ; la Rectangle deben ser sus límites de la ventana en este caso.

Si 2), a continuación, si usted tiene una referencia al componente por debajo, se puede hacer uso del hecho de que paint(Graphics) no le importa dónde está el objeto Graphics vino. Se puede crear un BufferedImage, llamada createGraphics() (en caso de que se espera una Graphics2D), y pasa el resultado al método paint(Graphics) del componente que desea capturar.
Tenga en cuenta que si el componente es un contenedor, que va a pintar sus hijos también; esto puede o no ser lo que quiera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top