added back in Text.java and ImageConverter.java
[org.ibex.xt.git] / src / org / ibex / xt / ImageConverter.java
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
5
6 package org.ibex.xt;
7
8 import java.awt.Dimension;
9 import java.io.*;
10 import javax.servlet.*;
11 import javax.servlet.http.*;
12 import magick.ImageInfo;
13 import magick.MagickImage;
14
15 public class ImageConverter extends HttpServlet
16 {
17
18     public ImageConverter()
19     {
20     }
21
22     public void init(ServletConfig servletconfig)
23     {
24         cx = servletconfig.getServletContext();
25     }
26
27     public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
28         throws IOException, ServletException
29     {
30         doGet(httpservletrequest, httpservletresponse);
31     }
32
33     public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
34         throws IOException, ServletException
35     {
36         try
37         {
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());
43             if(!file.exists())
44                 file = new File((new StringBuilder()).append(s1).append(".xcf").toString());
45             if(!file.exists())
46                 file = new File((new StringBuilder()).append(s1).append(".gif").toString());
47             if(!file.exists())
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));
61             else
62             if(s2 != null)
63             {
64                 int k = Integer.parseInt(s2);
65                 magickimage = magickimage.sampleImage(k, (k * j) / i);
66             } else
67             if(s3 != null)
68             {
69                 int l = Integer.parseInt(s3);
70                 magickimage = magickimage.sampleImage((i * l) / j, l);
71             }
72             magickimage.setImageFormat("png");
73             byte abyte0[] = magickimage.imageToBlob(imageinfo);
74             httpservletresponse.setContentType("image/png");
75             httpservletresponse.getOutputStream().write(abyte0);
76         }
77         catch(Exception exception)
78         {
79             exception.printStackTrace();
80             throw new ServletException(exception);
81         }
82     }
83
84     private ServletContext cx;
85 }