Red de conocimientos turísticos - Información de alquiler - Acerca de la conversión de formato de imagen a través de Java

Acerca de la conversión de formato de imagen a través de Java

importar java.io.*; importar java.awt.*; importar java.awt.image.*; importar java.awt.Graphics; importar java.awt.color.ColorSpace;

import javax.imageio.ImageIO;

public class ImageCut {

/**

* Escalar imagen

* @ param srcImageFile dirección del archivo de imagen de origen

* @param dirección de imagen escalada del resultado

* @param opciones de escala de escala: verdadero para ampliar; falso para reducir

* /

escala de vacío estática pública (String srcImageFile, resultado de cadena, escala int,

escala de vacío estática pública (String srcImageFile, resultado de cadena, escala int,

* ) Resultado de cadena, escala int,

indicador booleano) {

try {

BufferedImage src = ImageIO.read(new File(srcImageFile)); / Leer el archivo

int width = src.getWidth(); // obtener el ancho de la imagen de origen

int height = src.getHeight() // obtener el ancho de la imagen de origen

int width = src.getWidth(); // obtener la imagen de origen widthgetHeight() // Obtener la longitud de la imagen de origen

if (flag) { // Ampliar

ancho = ancho * escala;

alto = alto * escala

} else {// encoger

ancho = ancho/escala; ;

p>

altura = altura / escala

}

Imagen imagen = src.getScaledInstance(ancho, alto,

Imagen .SCALE_DEFAULT);

Etiqueta BufferedImage = nueva BufferedImage(ancho, alto,

BufferedImage.TYPE_INT_RGB

Gráfico = src.getScaledInstance(

);

Gráficos g = tag.getGraphics();

Gráficos g = tag.getGraphics()

Gráficos g

= tag.getGraphics();

g.drawImage(image, 0, 0, null // Dibuja una imagen reducida

g.dispose();

ImageIO.write(tag, "JPEG" new File(resultado)); // Salida al flujo de archivos

} catch (IOException e) {

e.printStackTrace( );

}

}

}

* Recorte de imagen

* @param srcImageFile imagen de origen Dirección

* @param descDir fragmento de carpeta de destino

* @param destWidth ancho del fragmento de destino

* @param destHeight alto del fragmento de destino

* /

corte vacío estático público (String srcImageFile, String descDir, int destWidth,

int destHeight) {

prueba {

Imagen img;

ImageFilter cropFilter; // Leer imagen fuente

BufferedImage bi = ImageIO.read(new File(srcImageFile));

int srcWidth = bi. getHeight(); // Ancho de la imagen de origen

int srcHeight = bi.getWidth(); // Ancho de la imagen de origen} else {

cols = (int) Floor(srcWidth) / destWidth) 1;

}

if (srcHeight destHeight == 0) {

filas = srcHeight / destHeight

} else {

filas = (int) Math.floor(srcHeight / destHeight) 1

}

}

// Bucle a través de cortes

// Idea de mejora: ¿Es posible acelerar el corte con subprocesos múltiples BufferedImage src = ImageIO.read(f

ImageIO.write(src , "JPG); ", nuevo archivo (resultado));

} catch (Excepción e) {

//TODO generar automáticamente el bloque catch

e.printStackTrace ();

}

}

// Color a blanco y negro

gris vacío estático público (fuente de cadena, resultado de cadena) {

prueba {

>

BufferedImage src = ImageIO.read(new File(source));

ColorSpace cs = ColorSpace.

ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); /p>

ColorConvertOp op = new ColorConvertOp(cs, null);

src = op.filter(src, null);

ImageIO.write(src, "JPEG); ", nuevo archivo(resultado)) /1.jpg", "e:/t/", 200, 150

}

}

}

Referencias: