📄 imagetest.java
字号:
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class ImageTest extends MIDlet {
private Display display;
private ImageCanvas ic;
/**
* Byte array containing image data
*/
public ImageTest() {
super();
ic = new ImageCanvas();
}
protected void startApp() throws MIDletStateChangeException {
//获得当前MIDlet的Display对象
display = Display.getDisplay(this);
//设置ImageCanvas对象为当前显示对象
display.setCurrent(ic);
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void destroyApp(boolean arg0)
throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
class ImageCanvas extends Canvas {
private byte[] imgData = {-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0,
13, 73, 72, 68, 82, 0, 0, 0, 4, 0, 0, 0, 4, 8, 2, 0, 0, 0,
38, -109, 9, 41, 0, 0, 0, 4, 103, 65, 77, 65, 0, 0, -39, 3,
66, -42, 79, -95, 0, 0, 0, 32, 99, 72, 82, 77, 0, 0, 122,
37, 0, 0, -128, -125, 0, 0, -12, 36, 0, 0, -124, -49, 0, 0,
109, 95, 0, 0, -24, 106, 0, 0, 60, -117, 0, 0, 27, 87, -87,
-19, -127, 22, 0, 0, 0, 38, 73, 68, 65, 84, 120, -100, 98, -
8, -56, -35, -56, 125, -8, 35, 16, 1, 25, 0, 1, -60, 0, -95,
32, 66, 0, 1, -124, -62, 1, 8, 32, 6, 100, 101, 0, 1, 6, 0,
-99, 98, 25, -31, 101, 39, 47, -71, 0, 0, 0, 0, 73, 69, 78,
68, -82, 66, 96, -126};
//装载图像文件
private Image img1;
//用户通过图形数据创建
private Image img2;
//绘制简单图形
private Image img3;
ImageCanvas() {
//装载图像文件
try {
img1 = Image.createImage("/image1.png");
} catch (Exception e) {
System.out.println("Can not load image1: " + e);
}
//用户通过图形数据创建
try {
img2 = Image.createImage(imgData, 0, imgData.length);
} catch (Exception e) {
System.out.println("Can not create image2: " + e);
}
//绘制简单图形
try {
img3 = Image.createImage(64, 64);
Graphics g = img3.getGraphics();
g.setClip(0, 0, img3.getWidth() - 1,
img3.getHeight() - 1);
//在中心画一个线
g.setGrayScale(0);
g.drawLine(img3.getWidth() / 4,
img3.getHeight() - 1,
img3.getWidth() - (img3.getWidth() / 4), 30);
//绘制一个填充矩形
g.setColor(0x0000FF);
g.fillRect(20, 20, 24, 24);
} catch (Exception e) {
System.out.println("Can not create image2: " + e);
}
}
/**
* 在这个方法中绘制屏幕
*/
protected void paint(Graphics g) {
//清除屏幕 - 背景白色
g.setColor(0xFFFFFF);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
if (img1 != null) {
g.drawImage(img1, 100, 100, Graphics.TOP|Graphics.LEFT);
g.drawImage(img1, 100, 100, Graphics.TOP|Graphics.RIGHT);
g.drawImage(img1, 100, 100, Graphics.BOTTOM|Graphics.LEFT);
g.drawImage(img1, 100, 100, Graphics.BOTTOM|Graphics.RIGHT);
//用drawRGB函数绘制
int width = img1.getWidth();
int height = img1.getHeight();
int rgbData[] = new int[width*height];
img1.getRGB(rgbData, 0, width, 0, 0, width, height);
g.drawRGB(rgbData, 0, width, 0, 160, width, height, false);
}
//绘制一个大的矩形
if (img2 != null) {
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
g.drawImage(img2,
50+i*img2.getWidth(),j*img2.getHeight(),
Graphics.RIGHT|Graphics.TOP);
}
}
}
//显示自绘图形的img3
if (img3 != null) {
g.drawImage(img3, 0, 50, Graphics.TOP|Graphics.LEFT);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -