Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/08/2019, 07:10
dacroma
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: pasar de java.awt.Image a bytes[]

Fuzzylog, muchas gracias por contestar.
El código que pusiste lo he estado analizando desde hace varios días que lo ví, y jamás había utilizado el operador "instanceof" y por causa tuya lo encuentro muy útil para el desarrollo de sistemas.
El casting en java tampoco lo había probado y de igual manera aportan mucho a mi razosinio en programación debo agradecerte por eso.
En este fragmento de código
Código Java:
Ver original
  1. ToBufferImage(Image Im){
  2. Ir(img instanceof BufferedImage){
  3. Return (BufferedImage)imag;
  4. }
  5. }
Lo estuve probando y me di cuenta de que el argumento img es una instancia de la clase sun.awt.toolkitImage la cual no se puede hacer casting con el bufferedImage por qué no se relacionan entre sí, ambas heredan de la misma clase pero no hay relación alguna entre estas dos subclases, entonces llegué a la conclusión de que esa condición no se cumpliría nunca.

En el segundo caso es cuando el constructor BufferedImage recibe el ancho, alto y tipo de imagen que es como sigue
Código Java:
Ver original
  1. // Create a buffered image with transparency
  2. BufferedImage bimage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB)
  3. // Draw the image on to the buffered image
  4. Graphics2D bGr = bimage.createGraphics();
  5. bGr.drawImage(img, 0, 0, null);
  6. bGr.dispose();
Pero no he logrado entender cómo hace para copiar la imagen si únicamente recibe las coordenadas escalables de la imagen y no la imagen en si ya que no se pudo hacer el casting.

De antemano te agradezco por tu tiempo.
Y sigo en análisis y cuando logré algo, te lo hago saber.