|
在Canvas上绘制可修改的图片
发表日期:2007-12-23
|
/*-------------------------------------------------- * MutableImage.Java * * Draw mutable image on a canvas * * Example from the book: Core J2ME Technology * Copyright John W. MUChow http://www.CoreJ2ME.com * You may use/modify for any non-commercial purpose *-------------------------------------------------*/ import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
public class MutableImageWithCanvas extends MIDlet { private Display display; // The display private ImageCanvas canvas; // Canvas public MutableImageWithCanvas() { display = Display.getDisplay(this); canvas = new ImageCanvas(this); } protected void startApp() { display.setCurrent( canvas ); } protected void pauseApp() { }
protected void destroyApp( boolean unconditional ) { } public void exitMIDlet() { destroyApp(true); notifyDestroyed(); } }
/*-------------------------------------------------- * Class ImageCanvas * * Draw mutable image *-------------------------------------------------*/ class ImageCanvas extends Canvas implements CommandListener { private Command cmExit; // Exit midlet private MutableImage midlet; private Image im = null; private String message = "Core J2ME"; public ImageCanvas(MutableImage midlet) { this.midlet = midlet; // Create exit command & listen for events cmExit = new Command("Exit", Command.EXIT, 1); addCommand(cmExit); setCommandListener(this);
try { // Create mutable image im = Image.createImage(80, 20);
// Get graphics object to draw onto the image Graphics graphics = im.getGraphics();
// Specify a font face, style and size Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM); graphics.setFont(font);
// Draw a filled (black) rectangle graphics.setColor(0, 0, 0); graphics.fillRoundRect(0,0, im.getWidth()-1, im.getHeight()-1, 20, 20); // Center text horizontally in the image. Draw text in white graphics.setColor(255, 255, 255); graphics.drawString(message, (im.getWidth() / 2) - (font.stringWidth(message) / 2), 0, Graphics.TOP Graphics.LEFT); } catch (Exception e) { System.err.println("Error during image creation"); } }
/*-------------------------------------------------- * Draw mutable image *-------------------------------------------------*/ protected void paint(Graphics g) { // Center the image on the display if (im != null)g.drawImage(im, getWidth() / 2, getHeight() / 2, Graphics.VCENTER Graphics.HCENTER); }
public void commandAction(Command c, Displayable d) { if (c == cmExit) midlet.exitMIDlet(); } }
(出处:)
|
|
上一篇:Canvas和Media实现钢琴效果
人气:646
下一篇:使用Timer和Canvas制作动画效果
人气:760 |
浏览全部J2EE/J2ME的内容
Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐
|
|