X-Git-Url: http://git.megacz.com/?p=org.ibex.xt.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fxt%2FImageConverter.java;fp=src%2Forg%2Fibex%2Fxt%2FImageConverter.java;h=49af984d9f0e9ef783e00894406b96511ddc42b4;hp=0000000000000000000000000000000000000000;hb=f373d876ecdaaf563afbc4f7d11211ba7d5d2af6;hpb=8f8109c54eee0492842c79ae96ef311bc4d2ebd0 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; +}