Advertisement
Guest User

Java Me Image Capture Example

a guest
Mar 26th, 2011
681
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.80 KB | None | 0 0
  1. import javax.microedition.midlet.*;
  2. import javax.microedition.lcdui.*;
  3. import javax.microedition.media.*;
  4. import javax.microedition.media.control.VideoControl;
  5.  
  6.  
  7. public class ImageCaptureMidlet extends MIDlet {
  8.  
  9.       private Display display;
  10.       ImageCaptureCanvas  canvas;
  11.       Player player;
  12.       VideoControl videoControl;
  13.  
  14.       public void startApp() {
  15.             display = Display.getDisplay(this);
  16.             try {
  17.                   player = Manager.createPlayer("capture://image");                  
  18.                   player.realize();
  19.                   videoControl = (VideoControl) player.getControl("VideoControl");
  20.                   canvas = new ImageCaptureCanvas(this, videoControl, player);
  21.                   display.setCurrent(canvas);
  22.             } catch (Exception e) {
  23.                 dm(e.getClass().getName());
  24.             }          
  25.       }
  26.      
  27.       public void dm(String message)
  28.       {
  29.         Form form = new Form("Error");
  30.         form.append(message);
  31.         display.setCurrent(form);
  32.       }
  33.      
  34.  
  35.       public void pauseApp() {
  36.       }
  37.  
  38.       public void destroyApp(boolean unconditional) {
  39.             notifyDestroyed();
  40.       }
  41. }
  42.  
  43. import javax.microedition.lcdui.*;
  44. import javax.microedition.media.control.VideoControl;
  45. import javax.microedition.media.*;
  46.  
  47. public class ImageCaptureCanvas extends Canvas {
  48.  
  49.       ImageCaptureMidlet midlet;
  50.       VideoControl videoControl;      
  51.       Player player;
  52.       SnapShotCanvas snap;
  53.       private Display display;
  54.  
  55.       public ImageCaptureCanvas(ImageCaptureMidlet midlet, VideoControl videoControl, Player player) throws MediaException {
  56.             this.midlet = midlet;
  57.             this.videoControl = videoControl;
  58.             this.player = player;
  59.             this.display = Display.getDisplay(midlet);
  60.             this.setFullScreenMode(true);
  61.             videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
  62.             try {                  
  63.                   videoControl.setDisplayLocation(0, 0);
  64.                   videoControl.setDisplaySize(getWidth(), getHeight());
  65.             } catch (MediaException me) {
  66.                   try {
  67.                       videoControl.setDisplayFullScreen(true);
  68.                   } catch (MediaException me2) {                     
  69.                   }
  70.             }
  71.             midlet.dm("icc10");
  72.             videoControl.setVisible(true);
  73.             midlet.dm("icc11");
  74.             player.start();
  75.       }      
  76.  
  77.       public void paint(Graphics g) {
  78.       }
  79.  
  80.       protected void keyPressed(int keyCode) {
  81.             switch (keyCode) {
  82.                   case KEY_NUM5:
  83.                         Thread t = new Thread() {
  84.                               public void run() {
  85.                                     try {
  86.                                           byte[] raw = videoControl.getSnapshot(null);
  87.                                           Image image = Image.createImage(raw, 0, raw.length);
  88.                                           snap = new SnapShotCanvas(image);
  89.                                           display.setCurrent(snap);
  90.                                     } catch (Exception e) {
  91.                                         midlet.dm(e.getClass().getName() + " " + e.getMessage());
  92.                                     }
  93.                               }
  94.                         };
  95.                         t.start();
  96.             }
  97.       }
  98. }
  99.  
  100.  
  101. import javax.microedition.lcdui.*;
  102.  
  103. public class SnapShotCanvas extends Canvas {
  104.  
  105.       private Image image;
  106.       public SnapShotCanvas(Image image) {
  107.             this.image = image;
  108.             setFullScreenMode(true);
  109.       }
  110.  
  111.       public void paint(Graphics g) {
  112.             g.drawImage(image, getWidth() / 2, getHeight() / 2, Graphics.HCENTER | Graphics.VCENTER);
  113.       }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement