added back in Text.java and ImageConverter.java
authoradam <adam@megacz.com>
Fri, 18 Feb 2005 10:51:16 +0000 (10:51 +0000)
committeradam <adam@megacz.com>
Fri, 18 Feb 2005 10:51:16 +0000 (10:51 +0000)
darcs-hash:20050218105116-5007d-d0437df0bdd2dd7a226a22a979a5d9486de9d41c.gz

src/org/ibex/xt/ImageConverter.java [new file with mode: 0644]
src/org/ibex/xt/Text.java [new file with mode: 0644]

diff --git a/src/org/ibex/xt/ImageConverter.java b/src/org/ibex/xt/ImageConverter.java
new file mode 100644 (file)
index 0000000..49af984
--- /dev/null
@@ -0,0 +1,85 @@
+// 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;
+}
diff --git a/src/org/ibex/xt/Text.java b/src/org/ibex/xt/Text.java
new file mode 100644 (file)
index 0000000..10ba9e0
--- /dev/null
@@ -0,0 +1,63 @@
+// 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:   Text.java
+
+package org.ibex.xt;
+
+import java.io.IOException;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import magick.*;
+
+public class Text extends HttpServlet
+{
+
+    public Text()
+    {
+    }
+
+    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
+        {
+            ImageInfo imageinfo = new ImageInfo();
+            MagickImage magickimage = new MagickImage();
+            DrawInfo drawinfo = new DrawInfo(imageinfo);
+            int i = Integer.parseInt(httpservletrequest.getParameter("width"));
+            int j = Integer.parseInt(httpservletrequest.getParameter("height"));
+            magickimage.constituteImage(i, j, "ARGB", new int[i * j * 4]);
+            drawinfo.setFill(PixelPacket.queryColorDatabase(httpservletrequest.getParameter("color")));
+            drawinfo.setOpacity(0);
+            drawinfo.setPointsize(Integer.parseInt(httpservletrequest.getParameter("size")));
+            drawinfo.setFont((new StringBuilder()).append("/usr/local/fonts/").append(httpservletrequest.getParameter("font")).append(".ttf").toString());
+            drawinfo.setTextAntialias(true);
+            drawinfo.setText(httpservletrequest.getParameter("text"));
+            drawinfo.setGeometry((new StringBuilder()).append("+0+").append(j / 2).toString());
+            magickimage.annotateImage(drawinfo);
+            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;
+}