1. Miniatura
Al navegar por álbumes, es posible que deba generar miniaturas correspondientes.
Cargue directamente el código:
clase pública imageUtil {private logger log = loggerFactory.getLogger (getClass ()); @param W Whongnail Width* @param H Altura de miniatura* @param Prevfix Genere el prefijo de las miniaturas * @param Force si se debe generar miniaturas para ser generadas : [BMP, BMP, JPG, JPG, WBMP, JPEG, PNG, PNG, JPEG, WBMP, GIF, GIF] Tipos de cadenas = Arrays.toString (imageIO.getReaderFormatNames ()); El sufijo es legal if (sufix == null || types.tolowercase (). indexOf (sufix.tolowercase ()) <0) {log.error ("Lo siento, El sufijo de imagen es ilegal. ); = Integer.ParseInt (new java.text.DecimalFormat ("0"). Format (Height * W/(Width * 1.0)); ") .Format (ancho * h/(altura * 1.0))); log.debug (" Cambiar el ancho de la imagen, ancho: {}, altura: {}. ", w, h);}} } BufferedImage Bi = New BufferedImage (W, H, BufferedImage.Type_int_Rgb); Sufijo, nuevo archivo (P.Substring (0, p.lastindexof (file.separator)) + file.separator + prevfix +imgfile.getName ()); Imagen ("c:/users/cm/escritorio/mi página/imágenes/girlnoimg.jpg", 100, 150, default_prevfix, default_force);Ejecute el método principal directamente y complete los parámetros correspondientes.
2. Coopere con JS para generar imágenes recortadas
Cuando modificamos nuestra información personal de Weibo y QQ, podemos cargar nuestros avatares personales y luego cortar nuestros avatares personales y subirlos. El tamaño y el estilo de las imágenes recortadas se implementan a través de JavaScript, pero no genera una nueva imagen. Sin embargo, las imágenes recortadas JS proporcionan las coordenadas X e Y y el ancho y la altura de la imagen.
paso:
1. Primero, usé JS para realizar la función de corte y navegación a través de la página. Además, también podemos usar complementos, como JCROP, que es un complemento de recorte de imágenes muy bueno.
Descargar dirección: http://download.csdn.net/detail/u012385190/9733480
La representación final es como arriba.
2. Java genera y guarda imágenes de corte
clase pública ImageUtil2 {private logger log = loggerFactory.getLogger (getClass ()); G, salida de salida, java.awt.rectangle rect) {if (srcimg.exists ()) {java.io.fileinputstream fis = null; ] String tipos = arrays.toString (imageIO.getReaderFormatNames ()) .replace ("]", ","); // Obtenga el sufijo de imagen if (srcimg.getName (). IndexOf (".")> -1) {sufrez = srcimg.getName (). Substring (srcimg.getName (). LastIndexOf (".") + 1); Suffix.tolowerCase () + ",") <0) {log.error ("Lo siento, el sufijo de imagen es ilegal. El sufijo de imagen estándar es {}." + tipos) param.setSourCeregion (rect); Image.Write (bi, sufijo, salida); ) IIS.CLOSE (); } // Generar la ruta del archivo de destino Void cutImage (archivo srcImg, string DestimgPath, java.awt.rectangle rect) {archivo destimg = new File (DestimGpath) Swith (File.separator)) P = P + File.separator; java.io.fileOutputStream (p+ default_cut_prevfix+ "_"+ srcimg.getName (), rect); , int x, int y, int width, int altura) {cutImage (nuevo archivo (srcimg), Destimg, new java.awt.rectangle (x, y, ancho, altura)); Util2 (). CutImage ("c: /users/cm/desktop/jcrop-master/demos/demo_files/sago.jpg", "C:/usuarios/cm/escritorio/mi página/imágenes/imgs", 124, 110, 196, 176);Este método se puede ejecutar directamente en Main. Los cuatro parámetros pasados son ruta de imagen, valor izquierdo, valor superior, longitud y ancho.
Analicemos cómo obtener estos cuatro parámetros:
1. Tomando mi corte JS como ejemplo, obtengo lo siguiente a través de F12:
La parte roja en la imagen es el DIV del corte de la imagen. Como en la imagen, mi x/y/ancho/altura es 40,28,224,228 respectivamente.
Nota: En JS, defino la longitud y el ancho del DIV y la imagen como 300*300. Si el tamaño de la imagen que probó no es de 300*300, entonces el efecto que probó directamente en Java arriba será diferente de lo que ves en el extremo frontal, porque defino el ancho y la altura de tu imagen frontal como 300*300, mientras que tu imagen real (es decir, la imagen en Java) no lo es.
Entonces, ¿y si se maneja este problema?
Obtenga la longitud y el ancho de la imagen original en su código Java, y luego determine si la longitud y el ancho de la imagen original son 300*300. (Mi código no lo procesa, lo procesaré yo mismo si lo necesito y eliminaré las miniaturas después de usar la imagen)
2. JCROP obtiene parámetros
Como se muestra en la figura, JCROP proporciona directamente parámetros y puede usarse directamente. Pero una desventaja es que el área de tamaño de la imagen de la página frontal no está arreglado.
Entonces, en resumen, se recomienda usar el primer JS, y luego determinar si la longitud y el ancho de la imagen original son 300, y generar una miniatura de 300*300, luego use la miniatura como prototipo de cultivo y luego elimine la miniatura después de usarla.
Lo anterior es el método de ejemplo de recorte de imágenes de Java y las miniaturas de Generación de Caídas presentadas por el editor. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!