<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    動態修改圖片大小的java servlet源碼

    Posted on 2007-12-18 16:20 詩特林 閱讀(3889) 評論(1)  編輯  收藏 所屬分類: Java

                                                            動態修改圖片大小的java servlet

    代碼雖然比較簡單,但做個標記,以便是后查找.

    1.修改圖片的java Servlet代碼如下:

    package com.photo.gallery;

    import java.awt.AlphaComposite;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import javax.imageio.ImageIO;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class ImageResizer extends HttpServlet {
        
    private static final long serialVersionUID = -8285774993751841288L;

        
    public void doGet(HttpServletRequest request, HttpServletResponse response) {
            String imageOutput 
    = getParam(request, "output""png");
            String imageRoot 
    = getParam(request, "root""/albums");
            String imageFile 
    = getParam(request, "file""/Album1/image1.jpg");
            
    int width = Integer.parseInt(getParam(request, "width""250"));
            
    int height = Integer.parseInt(getParam(request, "width""0"));
            
    if ("png".equals(imageOutput))
                response.setContentType(
    "image/png");
            
    else
                response.setContentType(
    "image/jpeg");
            String imageLoc 
    = request.getSession().getServletContext().getRealPath(
                    imageRoot)
                    
    + imageFile;
            
    try {
                BufferedImage bufferedImage 
    = ImageIO.read(new File(imageLoc));
                
    int calcHeight = height > 0 ? height : (width
                        
    * bufferedImage.getHeight() / bufferedImage.getWidth());

                ImageIO.write(createResizedCopy(bufferedImage, width, calcHeight),
                        imageOutput, response.getOutputStream());
            }
     catch (Exception e) {
                log(
    "Problem with image: " + imageLoc + e);
            }

        }


        BufferedImage createResizedCopy(Image originalImage, 
    int scaledWidth,
                
    int scaledHeight) {
            BufferedImage scaledBI 
    = new BufferedImage(scaledWidth, scaledHeight,
                    BufferedImage.TYPE_INT_RGB);
            Graphics2D g 
    = scaledBI.createGraphics();
            g.setComposite(AlphaComposite.Src);
            g.drawImage(originalImage, 
    00, scaledWidth, scaledHeight, null);
            g.dispose();
            
    return scaledBI;
        }


        
    private String getParam(HttpServletRequest request, String param, String def) {
            String parameter 
    = request.getParameter(param);
            
    if (parameter == null || "".equals(parameter)) {
                
    return def;
            }
     else {
                
    return parameter;
            }

        }

    }

    2.配置web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    >
        
    <servlet>
            
    <servlet-name>image</servlet-name>
            
    <servlet-class>com.photo.gallery.ImageResizer</servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>image</servlet-name>
            
    <url-pattern>/image</url-pattern>
        
    </servlet-mapping>

    </web-app>

    3.在地址欄輸出如下的連接:
    http://localhost:8088/Javaimageresizer/image?root=/albums&file=/thumbs/imagename.jpg&width=270&height=100
    即可查看效果

    評論

    # re: 動態修改圖片大小的java servlet源碼  回復  更多評論   

    2009-03-12 21:45 by hanfeng
    Servlet也是一種JAVA程序是吧?
    主站蜘蛛池模板: 国产偷v国产偷v亚洲高清| 精品国产亚洲男女在线线电影| 久久久久亚洲Av片无码v| 国产精品美女久久久免费 | 99视频在线免费观看| 亚洲精品无码99在线观看| 大片免费观看92在线视频线视频| 在线观看亚洲免费| 羞羞漫画小舞被黄漫免费| 日韩亚洲国产综合久久久| WWW国产成人免费观看视频| 国产AV无码专区亚洲AV漫画| 97超高清在线观看免费视频| 亚洲爆乳无码一区二区三区| 精品无码无人网站免费视频| 亚洲大香伊人蕉在人依线| 亚洲人成网站免费播放| 看一级毛片免费观看视频| 久久精品国产精品亚洲| 暖暖免费在线中文日本| 亚洲国产午夜电影在线入口| 男人的好看免费观看在线视频| 亚洲av无码专区首页| jlzzjlzz亚洲乱熟在线播放| 叮咚影视在线观看免费完整版| 久久av无码专区亚洲av桃花岛| 成人免费777777| 成人a毛片免费视频观看| 亚洲av无码一区二区三区网站| 久久精品无码专区免费东京热| 中文有码亚洲制服av片| 免费成人av电影| 91精品免费观看| 污视频网站免费在线观看| 亚洲av之男人的天堂网站| 我想看一级毛片免费的| 高清永久免费观看| 亚洲一区二区久久| 国产成人亚洲精品影院| 免费A级毛片无码无遮挡内射| 曰批全过程免费视频观看免费软件 |