0
Я изменение размера птицы изображения, используя следующий код:изображение Масштабирование J2ME
частное изображение resizeImage (ЦСИ Image) {
int srcWidth = src.getWidth(); int srcHeight = src.getHeight(); int screenWidth=getWidth()/3; int screenHeight=getHeight()/3; Image tmp = Image.createImage(screenWidth, srcHeight); Graphics g = tmp.getGraphics(); int ratio = (srcWidth << 16)/screenWidth; int pos = ratio/2; //Horizontal Resize for (int x = 0; x < screenWidth; x++) { g.setClip(x, 0, 1, srcHeight); g.drawImage(src, x - (pos >> 16), 0, Graphics.LEFT | Graphics.TOP); pos += ratio; } Image resizedImage = Image.createImage(screenWidth, screenHeight); g = resizedImage.getGraphics(); ratio = (srcHeight << 16)/screenHeight; pos = ratio/2; //Vertical resize for (int y = 0; y < screenHeight; y++) { g.setClip(0, y, screenWidth, 1); g.drawImage(tmp, 0, y - (pos >> 16), Graphics.LEFT | Graphics.TOP); pos += ratio; } return resizedImage;
}
изображение изменено, но оно имеет белый фон вместе с ним, как показано на рисунке. Как получить только измененное изображение с прозрачным фоном ..?
Спасибо за ур ответ .. Я попробовал этот метод. Теперь я вижу черные пиксели вместо белых пикселей в качестве фона. Его не transaparent. – Andy
Это очень странно. Я использовал его для нашей последней игры piratediamonds.com, как с 8-битными, так и с 24-битными файлами PNG. Не забудьте поставить «true» в качестве последнего параметра в обратном методе Image.createRGBImage. –
Теперь он работает. Но на устройстве его время для изменения размера. Любой алгоритм, чтобы сделать его быстрее? – Andy