Images can be viewed as thumbnails on wireless devices. The method below creates thumbnails from images.

 private Image createThumbnail(Image image) {
    int sourceWidth = image.getWidth();
    int sourceHeight = image.getHeight();
    
    int thumbWidth = 64;
    int thumbHeight = -1;
    
    if (thumbHeight == -1)
        thumbHeight = thumbWidth * sourceHeight / sourceWidth;
    
    Image thumb = Image.createImage(thumbWidth, thumbHeight);
    Graphics g = thumb.getGraphics();
    
    for (int y = 0; y < thumbHeight; y++) {
        for (int x = 0; x < thumbWidth; x++) {
            g.setClip(x, y, 1, 1);
            int dx = x * sourceWidth / thumbWidth;
            int dy = y * sourceHeight / thumbHeight;
            g.drawImage(image, x - dx, y - dy, Graphics.LEFT | Graphics.TOP);
        }
    }
    
    Image immutableThumb = Image.createImage(thumb);
    
    return immutableThumb;
}

 

 

 

 Related Tips