Cuál es la mejor biblioteca de Java para hacer recortar.El objetivo es mantener la claridad de la imagen recortada con un zoom de 2x.Los lados de la imagen recortada se vuelven borrosos mientras se acerca al nivel 2X.Probé imágenes avanzadas de Java (JAI) para recortar con sugerencias para renderizar. También probé RecaleDescriptor (JAI) para mejorar la imagen. Pero funciona solo para una partícula negra en un fondo blanco. ¿Hay alguna otra biblioteca que pueda usar?Recorte de imagen mejorada
Respuesta
Recomiendo ImageJ, una gran biblioteca para el procesamiento de imágenes.
Aquí es un ejemplo de código para el cultivo:
ImageProcessor ip = //... get the image processor to crop
ip.setRoi(left,top,width,height); //set the "Region Of Interest" (rectangle within the image)
ImageProcessor ip2 = ip.crop();
Antes de utilizar librerías externas intente configurar estos consejos de representación (por prestación swing "normal"):
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR); // or .._BICUBIC
g.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
El código siguiente produce captura de pantalla:
public static void main(String[] args) throws IOException {
BufferedImage o = ImageIO.read(new URL("http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png"));
final BufferedImage image = o.getSubimage(220, 220, 80, 80);
final int width = image.getWidth() * 4;
final int height = image.getHeight() * 4;
JFrame frame = new JFrame("Test");
frame.setLayout(new GridLayout(1, 2));
frame.add(new JComponent() {
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.drawImage(image, 0, 0, width, height, null);
}
});
frame.add(new JComponent() {
public void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, width, height, null);
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(649, 351);
frame.setVisible(true);
}
Usando Thumbnailator, se puede recortar la imagen original y el zoom en esa región con el siguiente código:
Thumbnails.of("/path/to/image")
.sourceRegion(Positions.CENTER, 100, 100)
.scale(2.0)
.resizer(Resizers.BICUBIC)
.toFile("/path/to/cropped+zoomed-image");
Lo anterior se llevará a los 100 píxeles por 100 región central píxeles de la imagen original y agrandar por un factor de escala de 2.0x utilizando bicubic interpolation para dar lugar a una imagen suave, sin bordes dentados:
Source image (left) cropped and enlarged by Thumbnailator (right) http://coobird.net/img/zoom-in.jpg
Aunque Thumbnailator es una biblioteca que se especializa en la creación de miniaturas (de ahí el nombre), generalmente se puede adaptar para crear imágenes ampliadas.
Descripción completa: Soy el desarrollador de Thumbnailator.
Feliz de finalmente conocerte coobird. Uso su biblioteca en mi sitio y funciona muy bien. Gracias por crear una herramienta tan ingeniosa. – qualebs
- 1. GWT Recorte de imagen
- 2. Imagen de recorte de Kinect
- 3. iphone UIbezierpath imagen irregular recorte
- 4. Recorte de una elipse de una imagen
- 5. imagen de recorte en círculo (php)
- 6. QGraphicsView desplazamiento y escala/recorte de imagen
- 7. ASP.NET imagen Cambiar el tamaño y Recorte
- 8. colección mejorada iterador
- 9. mejorada pestaña en Emacs
- 10. Combinación de rotación y recorte de imagen en jQuery
- 11. Imagen de recorte de Javascript del lado del cliente
- 12. Recorte de imagen C# sin la biblioteca .net
- 13. C# - Detectar imagen de la cara y el recorte
- 14. CSS/JS para el recorte circular de una imagen
- 15. UIViewContentModeScaleAspectFill sin recorte
- 16. C# una resolución mejorada de sobrecarga Método
- 17. Recorte simple con Paperclip
- 18. Recorte de rectángulo redimensionable de Android
- 19. Recorte de VideoView al cuadrado
- 20. Recorte automático de imágenes con PIL
- 21. recorte de Bezier
- 22. máscara de recorte vml
- 23. Recorte de polígono: solo área "visible"
- 24. recorte de imágenes con transparencia en iPhone
- 25. Tamaño de recorte personalizado en UIImagePickerController
- 26. Mejor tamaño y/o lógica de recorte
- 27. Biblioteca mejorada de escáneres de códigos de barras de iOS
- 28. Color de relleno del PIL Recorte/Thumbnailing
- 29. Recorte de la imagen de relación de aspecto en la rejilla de respuesta de arranque
- 30. recorte escalable máscara
¿Está cambiando el tamaño antes del recorte? –
no. Solo estoy haciendo el recorte – aruns
Entonces ... haga el redimensionamiento primero. Pensé que eso habría sido obviamente implícito. –