Image Thumbnailing Issue.
Please Login to Remove!
Hi All,
I developed an application using J2me for creating thumbnails of images. I used this application on Blackberry 8100, 8300 and 8800 devices, It makes proper thumbnail of image (where Image size is 10~50 KB).
While trying to create thumbnails of images (where Image size is 10~20 KB), the same code for Blackberry-Bold throws OutOfMemory exception . It only create thumbnails of size 5~7 KB images.
I need your expertise to resolve this problem. I want to use J2me code only that also works for Blackberry-Bold.
Here i am adding some part of J2me code that creates thumbnail.
public static Image getThumbnail(Image img, int intScreenWidth, int intScreenHeight) {
// Declaration
Image imgThumb = null;
Image imgImmutableThumb = null;
// getting original width
int intImageWidth;
// getting original height.
int intImageHeight;
try {
intImageWidth = img.getWidth();
// getting original height.
intImageHeight = img.getHeight();
// now getting the thumb image
imgThumb = Image.createImage(intScreenWidth, intScreenHeight);
if (imgThumb != null) {
Graphics g = imgThumb.getGraphics();
for (int y = 0; y < intScreenHeight; y++) {
for (int x = 0; x < intScreenWidth; x++) {
g.setClip(x, y, 1, 1);
int deltaX = x * intImageWidth / intScreenWidth;
int deltaY = y * intImageHeight / intScreenHeight;
g.drawImage(img, x - deltaX, y - deltaY,
Graphics.LEFT | Graphics.TOP);
}// end of for (int x = 0; x < intScreenWidth; x++)
}// end of for (int y = 0; y < intScreenHeight; y++)
// imgImmutableThumb = Image.createImage(imgThumb);
} else {
imgThumb = img;
}
} catch (OutOfMemoryError ome) {
} catch (Exception e) {
//e.printStackTrace();
} finally {
}// end of try catch finally.
return imgThumb;
}// end of getThumbnail
It throws exception from Image.createImage().
Please reply me as soon as possible.
Thanks in advance.
|