From f373d876ecdaaf563afbc4f7d11211ba7d5d2af6 Mon Sep 17 00:00:00 2001 From: adam Date: Fri, 18 Feb 2005 10:51:16 +0000 Subject: [PATCH] added back in Text.java and ImageConverter.java darcs-hash:20050218105116-5007d-d0437df0bdd2dd7a226a22a979a5d9486de9d41c.gz --- src/org/ibex/xt/ImageConverter.java | 85 +++++++++++++++++++++++++++++++++++ src/org/ibex/xt/Text.java | 63 ++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 src/org/ibex/xt/ImageConverter.java create mode 100644 src/org/ibex/xt/Text.java diff --git a/src/org/ibex/xt/ImageConverter.java b/src/org/ibex/xt/ImageConverter.java new file mode 100644 index 0000000..49af984 --- /dev/null +++ b/src/org/ibex/xt/ImageConverter.java @@ -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 index 0000000..10ba9e0 --- /dev/null +++ b/src/org/ibex/xt/Text.java @@ -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; +} -- 1.7.10.4