一、servlet中File路径问题
在Servlet中的File文件中的默认的路径是tomcat安装路径中的bin路径
new File("test.png")
发现,test.png文件会存储在E:\tomcat\apache-tomcat-8.5.59\bin,所以在tomcat中一般不建议这样使用,有可能会损坏服务器的bin文件
二、利用BufferedImage在图片上加上水印,代码在Servlet中
@WebServlet("/demo08")
public class servletDemo08 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int width = 100;
int height = 50;
//BufferedImage img = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);//创建图片
BufferedImage img = ImageIO.read(new File("test.png"));
Graphics g = img.getGraphics();
//g.setColor(Color.pink);//设置背景
//g.fillRect(0,0,width,height);
g.setColor(Color.BLUE);
//g.drawRect(0,0,width-1,height-1);//画方框
g.drawString("hello world",20,25);
ImageIO.write(img,"png",resp.getOutputStream());
}
}
这是原始图片
经过处理后可以在指定位置增加水印
这里需要注意的是在最后一行代码中png如果改成jpg
ImageIO.write(img,"png",resp.getOutputStream());
则会出现图片变色的情况,这个情况是因为图片格式的关系