[RESOLVIDO] Estou tentando cortar imagem e salvar não estou obtendo sucesso.
String arquivo = request.getParameter("arquivo");
file = new File(arquivo);
// Transformando em BufferedImage
BufferedImage bufferedImage = ImageIO.read(file);
// Cortando as imagens passando as cordenadas
BufferedImage subImage = new BufferedImage(width, height, bufferedImage.getType());
System.out.println("subImage = " + subImage);
// escrevendo novamente a imagem cortada.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(subImage, "jpg", baos);
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
byte[] xoredImage = new byte[imageInByte.length];
for (int i = 0; i< imageInByte.length;i++){
xoredImage[i] = (byte) (imageInByte[i] ^ 0xFF);
}
// convertendo byte array para BufferedImage
InputStream in = new ByteArrayInputStream(xoredImage);
BufferedImage bImageFromConvert = ImageIO.read(in); // aqui ele diz que esta null
// erro esta nessa linha
ImageIO.write(bImageFromConvert, "jpg", new File("C:\\teste\\"));
Meu erro:
java.lang.IllegalArgumentException: image == null!
at javax.imageio.ImageTypeSpecifier.createFromRenderedImage(Unknown Source)
at javax.imageio.ImageIO.getWriter(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at action.ActionOrc.arquivo(ActionOrc.java:97)
at action.ActionOrc.doPost(ActionOrc.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:500)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
