<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程序是吧?
    主站蜘蛛池模板: 黄页网站在线看免费| 亚洲女初尝黑人巨高清| xxxxx做受大片在线观看免费| 亚洲精品无码专区在线在线播放| 久久国产乱子伦免费精品| 亚洲国产成人精品无码区花野真一| 亚洲伊人成无码综合网| 5g影院5g天天爽永久免费影院| 亚洲欧洲精品成人久久曰| 国产亚洲A∨片在线观看| 野花高清在线观看免费3中文| 日日躁狠狠躁狠狠爱免费视频 | 最近2019中文字幕免费直播 | 一级成人a做片免费| 亚洲永久中文字幕在线| 亚洲国产成人久久综合野外| 最近2018中文字幕免费视频 | 日韩在线免费视频| 黄色网址免费在线观看| 亚洲国产区男人本色在线观看| 精品亚洲视频在线观看| 性做久久久久免费观看| 一区二区三区四区免费视频 | 毛片免费vip会员在线看| 永久免费av无码网站yy| 国产成人亚洲午夜电影| 亚洲人成免费网站| 亚洲AV区无码字幕中文色| 亚洲成A人片77777国产| 妞干网免费观看视频| 性xxxx视频免费播放直播| 免费无码专区毛片高潮喷水| 性xxxx黑人与亚洲| 亚洲av日韩av高潮潮喷无码| 亚洲一区二区三区在线视频| 日本人护士免费xxxx视频| 亚欧在线精品免费观看一区| a毛看片免费观看视频| 午夜不卡AV免费| 国产精品无码亚洲一区二区三区| 亚洲一欧洲中文字幕在线|