⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tranimagecanvas.java~23~

📁 在j2me当中缩放图片
💻 JAVA~23~
字号:
import javax.microedition.lcdui.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class TranImageCanvas extends Canvas implements Runnable{  int game_status = -1;  boolean gameRun;  Image img_png;  Image img_buffer;  Display display;  public TranImageCanvas(Display display){    try {      this.display = display;      System.out.println("111");      game_status = 0;      System.out.println("222");      img_png = Image.createImage("/res/1.png");      System.out.println("333");      gameRun = true;      System.out.println("444");      new Thread(this).start();      System.out.println("555");    }    catch (Exception ex) {      ex.printStackTrace();    }  }  public Image scaleImage(Image src,int scales1,int scales2)  {   return transImage(src,src.getWidth()*scales1/scales2,src.getHeight()*scales1/scales2);  }  public Image transImage(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;  }  public void keyPressed(int keycode)  {    if (keycode == -6)    {      //handleSoft1();    }    else if (keycode == -7)    {      //handleSoft2();    }    else if (keycode == -5) // function should be same as soft1    {      //handleSelect();    }    else if (keycode == -1 || keycode == 50)    {     // handleUp();    }    else if (keycode == -2 || keycode == 56)    {      //handleDown();    }    else if (keycode == -3 || keycode == 52)    {     // handleLeft();    }    else if (keycode == -4 || keycode == 54)    {      //handleRight();    }else if(keycode == 51){    //  handleKey3();    }else if(keycode == 49){    //  handleKey1();    }  }  protected void paint(Graphics g) {    /**@todo Implement this javax.microedition.lcdui.Canvas abstract method*/    g.setColor(0);    g.fillRect(0,0,176,220);    if(game_status == 0)    g.drawImage(img_png,0,0,0);  }  public void run()  {    try    {      while (gameRun)      {        if(game_status == 0){          Thread.sleep(100);        }        //Thread.sleep(100);        repaint();      }    }    catch (Exception ex)    {    }  }}

⌨️ 快捷键说明

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