j2me游戏图片翻转问题

zhudongdong007 2010-06-10 03:38:50
假设,我要一个图片,这是一个沿中轴对称的图形。

那么我只需要左边一半的图片即可。这样可以减少图片

尺寸,

可是我不想用

static Image createImage(Image image, int x, int y, int width, int height, int transform)

这个方法,因为这个方法会在内存中创建另一个图片。

谢谢各位朋友来临指导小弟。O(∩_∩)O谢谢
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
品茶 2010-06-13
  • 打赏
  • 举报
回复
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class Start extends MIDlet {

public Start() {
// TODO Auto-generated constructor stub
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
Display.getDisplay(this).setCurrent(new MyCanvas());
}

}



import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class MyCanvas extends Canvas implements Runnable {

public MyCanvas() {
super();
// TODO Auto-generated constructor stub
try {
img = Image.createImage("/map.png");
w = img.getWidth();
h = img.getHeight();
temp = new int[w * h];
data = new int[w * h];
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
new Thread(this).start();
}

protected void paint(Graphics g) {
// TODO Auto-generated method stub
g.drawImage(img, 0, 0, 20);
g.drawImage(turn(img), w, 0, 20);
}

public void run() {
// TODO Auto-generated method stub
repaint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public Image turn(Image img) {
img.getRGB(temp, 0, w, 0, 0, w, h);
for (int i = w * h - 1; i > -1; i--) {
data[i] = temp[w - 1 - i % w + i / w * w];
}
img = Image.createRGBImage(data, w, h, false);
return img;
}

Image img = null;
int w;
int h;
int[] temp;
int[] data;
}

不想在内存里面多建个Image,就要多个数组保存数据,一样的耗内存。
zijing660 2010-06-11
  • 打赏
  • 举报
回复
drawRegion吧,不过nokia的话,还是用nokia的API,效率会比较高点
SunZhanwei 2010-06-11
  • 打赏
  • 举报
回复
推荐使用drawRegion
凡员外 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 redduke1202 的回复:]
drawRegion方法可以进行翻转的
2维平面内,支持90度旋转,左右翻转,上下翻转。
可得8种组合
[/Quote]up
wuhanchendalong 2010-06-11
  • 打赏
  • 举报
回复
自己写方法吧。。可以实现的。。取得每个图片的的像素保存数组再倒过来排序即可。
「已注销」 2010-06-10
  • 打赏
  • 举报
回复
drawRegion方法可以进行翻转的
2维平面内,支持90度旋转,左右翻转,上下翻转。
可得8种组合
_梦 2010-06-10
  • 打赏
  • 举报
回复
额...用精灵切
要不setclip
Java技术栈 2010-06-10
  • 打赏
  • 举报
回复
不太懂 O(∩_∩)O谢谢

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧