transimage.java

来自「J2ME《黑白棋》游戏手机版源代码GameCanvas版本。」· Java 代码 · 共 35 行

JAVA
35
字号
import javax.microedition.lcdui.*;

public class transImage 	//缩放图片
{
	public static final Image scale(Image src, int w, int h)
	 {
	    int srcW = src.getWidth();
	    int srcH = src.getHeight();
	    int dstW=w,dstH=h;
	    Image tmp = Image.createImage(dstW, srcH);
	    Graphics g = tmp.getGraphics();
	    int scale=16;    
	  int delta = (srcW << scale) / dstW;//扫描长度
	    int pos = delta / 2;//扫描位置
	    for (int x = 0; x < dstW; x++)
	    {
	      g.setClip(x, 0, 1, srcH);
	      g.drawImage(src, x - (pos >> scale), 0, Graphics.LEFT | Graphics.TOP);
	      pos += delta;
	    }
	    Image dst = Image.createImage( dstW, dstH);
	    g = dst.getGraphics();
	    delta = (srcH << scale) / dstH;
	    pos = delta / 2;
	    for (int y = 0; y < dstH; y++) 
	    {
	      g.setClip(0,y, dstW, 1);
	      g.drawImage(tmp, 0, y - (pos >> scale), Graphics.LEFT | Graphics.TOP);
	      pos += delta;
	    }
	    return dst;
	 } 

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?