0
我使用以下代碼大小調整鳥圖像:重新縮放圖像在J2ME
私人圖片resizeImage(圖像SRC){
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;
}
的圖像被調整大小,但它具有白色背景,如圖所示。如何獲得只有透明背景調整大小的圖像..?
感謝烏拉圭回合的答覆..我嘗試這個方法。現在我可以看到黑色像素,而不是白色像素作爲背景。它不是透明的。 – Andy
這很奇怪。我已經成功地將它用於我們的最新遊戲piratediamonds.com,它們都帶有8位和24位PNG文件。請記住將「true」作爲返回Image.createRGBImage方法中的最後一個參數。 –
現在它的工作..但在設備上它需要時間來調整大小。任何算法,使其更快? – Andy