+// Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
+// Jad home page: http://www.geocities.com/kpdus/jad.html
+// Decompiler options: packimports(3)
+// Source File Name: ImageConverter.java
+
+package org.ibex.xt;
+
+import java.awt.Dimension;
+import java.io.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import magick.ImageInfo;
+import magick.MagickImage;
+
+public class ImageConverter extends HttpServlet
+{
+
+ public ImageConverter()
+ {
+ }
+
+ public void init(ServletConfig servletconfig)
+ {
+ cx = servletconfig.getServletContext();
+ }
+
+ public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
+ throws IOException, ServletException
+ {
+ doGet(httpservletrequest, httpservletresponse);
+ }
+
+ public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
+ throws IOException, ServletException
+ {
+ try
+ {
+ if(httpservletrequest.getServletPath().indexOf("..") != -1)
+ throw new IOException(".. not allowed in image paths");
+ String s = cx.getRealPath(httpservletrequest.getServletPath());
+ String s1 = s.indexOf('.') != -1 ? s.substring(0, s.lastIndexOf('.')) : s;
+ File file = new File((new StringBuilder()).append(s1).append(".png").toString());
+ if(!file.exists())
+ file = new File((new StringBuilder()).append(s1).append(".xcf").toString());
+ if(!file.exists())
+ file = new File((new StringBuilder()).append(s1).append(".gif").toString());
+ if(!file.exists())
+ file = new File((new StringBuilder()).append(s1).append(".jpeg").toString());
+ System.out.println((new StringBuilder()).append("path is ").append(file.getAbsolutePath()).toString());
+ ImageInfo imageinfo = new ImageInfo(file.getAbsolutePath());
+ imageinfo.setColorspace(12);
+ imageinfo.setSubimage(0);
+ MagickImage magickimage = new MagickImage(imageinfo);
+ Dimension dimension = magickimage.getDimension();
+ int i = (int)dimension.getWidth();
+ int j = (int)dimension.getHeight();
+ String s2 = httpservletrequest.getParameter("width");
+ String s3 = httpservletrequest.getParameter("height");
+ if(s2 != null && s3 != null)
+ magickimage = magickimage.sampleImage(Integer.parseInt(s2), Integer.parseInt(s3));
+ else
+ if(s2 != null)
+ {
+ int k = Integer.parseInt(s2);
+ magickimage = magickimage.sampleImage(k, (k * j) / i);
+ } else
+ if(s3 != null)
+ {
+ int l = Integer.parseInt(s3);
+ magickimage = magickimage.sampleImage((i * l) / j, l);
+ }
+ magickimage.setImageFormat("png");
+ byte abyte0[] = magickimage.imageToBlob(imageinfo);
+ httpservletresponse.setContentType("image/png");
+ httpservletresponse.getOutputStream().write(abyte0);
+ }
+ catch(Exception exception)
+ {
+ exception.printStackTrace();
+ throw new ServletException(exception);
+ }
+ }
+
+ private ServletContext cx;
+}