1 // Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
2 // Jad home page: http://www.geocities.com/kpdus/jad.html
3 // Decompiler options: packimports(3)
4 // Source File Name: ImageConverter.java
8 import java.awt.Dimension;
10 import javax.servlet.*;
11 import javax.servlet.http.*;
12 import magick.ImageInfo;
13 import magick.MagickImage;
15 public class ImageConverter extends HttpServlet
18 public ImageConverter()
22 public void init(ServletConfig servletconfig)
24 cx = servletconfig.getServletContext();
27 public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
28 throws IOException, ServletException
30 doGet(httpservletrequest, httpservletresponse);
33 public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
34 throws IOException, ServletException
38 if(httpservletrequest.getServletPath().indexOf("..") != -1)
39 throw new IOException(".. not allowed in image paths");
40 String s = cx.getRealPath(httpservletrequest.getServletPath());
41 String s1 = s.indexOf('.') != -1 ? s.substring(0, s.lastIndexOf('.')) : s;
42 File file = new File((new StringBuilder()).append(s1).append(".png").toString());
44 file = new File((new StringBuilder()).append(s1).append(".xcf").toString());
46 file = new File((new StringBuilder()).append(s1).append(".gif").toString());
48 file = new File((new StringBuilder()).append(s1).append(".jpeg").toString());
49 System.out.println((new StringBuilder()).append("path is ").append(file.getAbsolutePath()).toString());
50 ImageInfo imageinfo = new ImageInfo(file.getAbsolutePath());
51 imageinfo.setColorspace(12);
52 imageinfo.setSubimage(0);
53 MagickImage magickimage = new MagickImage(imageinfo);
54 Dimension dimension = magickimage.getDimension();
55 int i = (int)dimension.getWidth();
56 int j = (int)dimension.getHeight();
57 String s2 = httpservletrequest.getParameter("width");
58 String s3 = httpservletrequest.getParameter("height");
59 if(s2 != null && s3 != null)
60 magickimage = magickimage.sampleImage(Integer.parseInt(s2), Integer.parseInt(s3));
64 int k = Integer.parseInt(s2);
65 magickimage = magickimage.sampleImage(k, (k * j) / i);
69 int l = Integer.parseInt(s3);
70 magickimage = magickimage.sampleImage((i * l) / j, l);
72 magickimage.setImageFormat("png");
73 byte abyte0[] = magickimage.imageToBlob(imageinfo);
74 httpservletresponse.setContentType("image/png");
75 httpservletresponse.getOutputStream().write(abyte0);
77 catch(Exception exception)
79 exception.printStackTrace();
80 throw new ServletException(exception);
84 private ServletContext cx;