请问各位,如何从数据库读取图片byte[],生成要求大小缩略图,直接输出到web页面,刚接触java,谢谢了,利马结贴

解决方案 »

  1.   

    大小可以由web来控制,通过定义img的width与height属性就可以解决。
      

  2.   

    楼上的,我试过,在img里面加上weight和height属性,不起作用
      

  3.   

    楼上的,我试过,在img里面加上weight和height属性,不起作用
      

  4.   

    把那些图片的相对路径,存在数据库的字段中,例如"/myweb/images/11.gif"这样就行了,既节省了数据库的空间,读出来时效率也高。
      

  5.   

    严重支持,terry_yip(由于系统原因,我把所有的贴子都结了,信誉分还是没恢复) 朋友的观点。。
      

  6.   

    我现在已经从数据库中读取到了byte[],但是我不知道怎么才能把byte[]数组输出成我要求大小的图片到web上,请各位指教
      

  7.   

    我现在已经从数据库中读取到了byte[],但是我不知道怎么才能把byte[]数组输出成我要求大小的图片到web上,请各位指教
      

  8.   

    我现在已经从数据库中读取到了byte[],但是我不知道怎么才能把byte[]数组输出成我要求大小的图片到web上,请各位指教
      

  9.   

    这样用属性应该可以吧
    <IMG WIDTH=50 HEIGHT=50 SRC=...
      

  10.   

    参考下BufferedImage and Graphics2D class
    并设置响应报头为image/jpeg
      

  11.   

    用servlet可以吗?
      image的src指向servlet的请求路径。设置其width和height          
           bImageByte 为你读到的图片byte[], res为response         
                res.setContentType ("image/jpeg") ;
                ServletOutputStream servletOut = res.getOutputStream () ;
                res.setContentLength ( bImgByte.length ) ;
                servletOut.write ( bImgByte ) ;
                servletOut.close () ;
      

  12.   

    response.reset();
    response.setContentType("image/jpeg");
    ByteArrayInputStream is = new ByteArrayInputStream(image.getImagedata());
    BufferedImage bufferImage = ImageIO.read(is);
    BufferedImage tag = new BufferedImage(Integer.parseInt(width), Integer.parseInt(height),
    BufferedImage.TYPE_INT_RGB);
    tag.getGraphics().drawImage(bufferImage, 0, 0, Integer.parseInt(width), Integer.parseInt(height), null);
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response);
    encoder.encode(tag);//近JPEG编码
    response.flush();
    response.close();
      

  13.   

    response.reset();
    response.setContentType("image/jpeg");
    ByteArrayInputStream is = new ByteArrayInputStream(image.getImagedata());
    BufferedImage bufferImage = ImageIO.read(is);
    BufferedImage tag = new BufferedImage(Integer.parseInt(width), Integer.parseInt(height),
    BufferedImage.TYPE_INT_RGB);
    tag.getGraphics().drawImage(bufferImage, 0, 0, Integer.parseInt(width), Integer.parseInt(height), null);
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response);
    encoder.encode(tag);//近JPEG编码
    response.flush();
    response.close();