HI, Tried the same but it was not working...
it gives me an blank image... Please help me out... try { java.awt.Image image = rr.toImage();// An image given by the service MediaTracker mediaTracker = new MediaTracker(new Container()); mediaTracker.addImage(image, 0); mediaTracker.waitForID(0); BufferedImage bImage = new BufferedImage(698, 440, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = bImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(image, 0, 0, (int) 698, (int) 440, null); graphics2D.dispose(); ImageIO.write(bImage, "gif", res.getOutputStream()); } catch (Exception e) { e.printStackTrace(); } Here rr is an external service object which gives me an image... At the client side i have called this servlet... Regards, Naveen On Sun, Nov 22, 2009 at 1:28 PM, bryanb <webbt...@gmail.com> wrote: > Something like this works for me. > > On the server: > > import java.awt.Container; > import java.awt.Graphics2D; > import java.awt.MediaTracker; > import java.awt.RenderingHints; > import java.awt.Toolkit; > import java.awt.image.BufferedImage; > > import javax.imageio.ImageIO; > import javax.servlet.http.HttpServlet; > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpServletResponse; > > public class ImageServlet extends HttpServlet { > /** > * > */ > private static final long serialVersionUID = 1L; > > public void doGet(HttpServletRequest request, HttpServletResponse > response) { > double thumbWidth; > double thumbHeight; > > String imagefile = request.getParameter("file"); > String height = request.getParameter("h"); > String width = request.getParameter("w"); > > // System.err.println(imagefile + ", " + height + ", " + > width); > > // Set the mime type of the image > response.setContentType("image/png"); > > try { > > java.awt.Image image = > Toolkit.getDefaultToolkit().getImage > (imagefile); > MediaTracker mediaTracker = new MediaTracker(new > Container()); > mediaTracker.addImage(image, 0); > mediaTracker.waitForID(0); > > int imageWidth = image.getWidth(null); > int imageHeight = image.getHeight(null); > double imageRatio = (double) imageWidth / (double) > imageHeight; > > // if width parameter is null, then just use it to > scale > thumbHeight = new Double(height); > > if (width != null) { > thumbWidth = new Double(width); > // determine size from WIDTH and HEIGHT > double thumbRatio = thumbWidth / > thumbHeight; > > if (thumbRatio < imageRatio) { > thumbHeight = thumbWidth / > imageRatio; > } else { > thumbWidth = thumbHeight * > imageRatio; > } > } else { > thumbWidth = thumbHeight * imageRatio; > } > > // draw original image to thumbnail image object and > scale it to > the new size on-the-fly > BufferedImage thumbImage = new BufferedImage((int) > thumbWidth, > (int) thumbHeight, BufferedImage.TYPE_INT_RGB); > Graphics2D graphics2D = thumbImage.createGraphics(); > > graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, > RenderingHints.VALUE_INTERPOLATION_BILINEAR); > graphics2D.drawImage(image, 0, 0, (int) thumbWidth, > (int) > thumbHeight, null); > graphics2D.dispose(); > > ImageIO.write(thumbImage, "png", > response.getOutputStream()); > } catch (Exception e) { > e.printStackTrace(); > > } > } > } > > > On the client, create a URL to get the image something like this: > > StringBuffer sb = new StringBuffer(GWT.getHostPageBaseURL()); > sb.append("ImageServlet?file="); > sb.append(imagefilel); > sb.append("&h=" + Utils.getPageHeight()); > sb.append("&w=" + Utils.getPageWidth()); > Image image = new Image(sb.toString); > > -- > > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=. > > > -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.