Rotating images in J2ME using MIDP 1.0
So you’re still using MIDP 1.0 uh? And maybe you need to rotate an image?
If this is your case, you could find useful this simple function:
public static Image rotateImage(Image image, int angle) throws Exception { if(angle == 0) { return image; } else if(angle != 180 && angle != 90 && angle != 270) { throw new Exception("Invalid angle"); } int width = image.getWidth(); int height = image.getHeight(); int[] rowData = new int[width]; int[] rotatedData = new int[width * height]; int rotatedIndex = 0; for(int i = 0; i < height; i++) { image.getRGB(rowData, 0, width, 0, i, width, 1); for(int j = 0; j < width; j++) { rotatedIndex = angle == 90 ? (height - i - 1) + j * height : (angle == 270 ? i + height * (width - j - 1) : width * height - (i * width + j) - 1 ); rotatedData[rotatedIndex] = rowData[j]; } } if(angle == 90 || angle == 270) { return Image.createRGBImage(rotatedData, height, width, true); } else { return Image.createRGBImage(rotatedData, width, height, true); } } |
So, how can you use it? Nothing more than:
Image original = Image.createImage("/original_image.png"); Image rotated_image = rotateImage(original, 90); |
J2ME, Flash Lite, Symbian, Iphone, Android and Ajax news, tutorials, source code » Blog Archive » Let your images explode in J2ME! 10:29 am on May 20, 2008 Permalink
[...] Mobile games development English site Italian site « Rotating images in J2ME using MIDP 1.0 [...]