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

📄 imagetest.java

📁 在eclipse环境下
💻 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 + -