📄 camerademo.java
字号:
try { fcsCtrl.setFocus( focusModesInt[focusModes.getSelectedIndex()]); } catch (MediaException me) { me.printStackTrace(); } } else if (zoomModesForm != null && zoomModesForm.isShown()) { zomCtrl.setDigitalZoom( zoomDigModesInt[zoomDigModes.getSelectedIndex()]); zomCtrl.setOpticalZoom( zoomOptModesInt[zoomOptModes.getSelectedIndex()]); } display.setCurrent(vidForm); } else if (c == backToBrowserCommand) { display.setCurrent(browser); imageViewer.deleteAll(); if (currImage != null) { try { currImage.close(); } catch(IOException ioe) { ioe.printStackTrace(); } } } else if (c == saveSnapCommand) { unfreezeSnpCtrl(true); vidForm.append("Picture has been saved to disk"); savedMessageAppear = true; } else if (c == deleteSnapCommand) { unfreezeSnpCtrl(false); } else if (c == deleteImageFile) { new Thread(new Runnable() { public void run() { imageViewer.deleteAll(); if (currImage != null) { try { currImage.delete(); currImage.close(); } catch(IOException ioe) { ioe.printStackTrace(); } } browser.delete(browser.getSelectedIndex()); display.setCurrent(browser); } }).start(); } if (s == vidForm) { if (c == exitCommand) { destroyApp(false); } else if (c == snapCommand) { doSnapshot(NumOfPic); } else if (camCtrl != null && c == enabledShutterFeedbackCommand) { enabledShutterFeedback(true); } else if (camCtrl != null && c == disabledShutterFeedbackCommand) { enabledShutterFeedback(false); } else if (camCtrl != null && c == changeExposureCommand) { setExposureModes(); } else if (camCtrl != null && c == setSupportedF_StopsCommand) { setSupportedF_Stops(); } else if (camCtrl != null && c == setFlashModeCommand) { setFlashMode(); } else if (camCtrl != null && c == setSnapshotCommand) { setSnapshotSettings(); } else if (camCtrl != null && c == stopShottingCommand) { stopShooting(); } else if (camCtrl != null && c == viewGalleryCommand) { new Thread(new Runnable() { public void run() { viewGallery(); } }).start(); } else if (camCtrl != null && c == setFocusCommand) { focusSetting(); } else if (camCtrl != null && c == setZoomCommand) { zoomSetting(); } } else if (camCtrl != null && c == displayCommand) { new Thread(new Runnable() { public void run() { viewImage(); } }).start(); } } private void stopShooting() { snpCtrl.stop(); } private void unfreezeSnpCtrl(boolean save) { snpCtrl.unfreeze(save); snapForm.deleteAll(); vidForm.append(videoItem); display.setCurrent(vidForm); } /** * Show file list in the photos directory . */ private void viewGallery() { if (PHOTOS_DIR == null) { PHOTOS_DIR = "file://" + snpCtrl.getDirectory(); } Enumeration e; FileConnection photosDir = null; try { photosDir = (FileConnection)Connector.open(PHOTOS_DIR); e = photosDir.list(); browser = new List(snpCtrl.getDirectory(), List.IMPLICIT); while (e.hasMoreElements()) { String fileName = (String)e.nextElement(); if (fileName.charAt(fileName.length()-1) == SEP) { // This is directory } else { // this is regular file browser.append(fileName, null); } } if (photosDir != null) { photosDir.close(); } browser.setSelectCommand(displayCommand); browser.addCommand(backCommand); browser.setCommandListener(this); display.setCurrent(browser); } catch (IOException ioe) { ioe.printStackTrace(); } } private void viewImage() { if(browser.size() == 0) { return; } if(imageViewer == null) { imageViewer = new Form("Image Viewer"); imageViewer.addCommand(backToBrowserCommand); imageViewer.addCommand(deleteImageFile); imageViewer.setCommandListener(this); } byte [] b; try { currImage = (FileConnection) Connector.open(PHOTOS_DIR + SEP + browser.getString(browser.getSelectedIndex())); if (!currImage.exists()) { throw new IOException("Image file does not exists"); } InputStream fis = currImage.openInputStream(); int fileSize = (int)currImage.fileSize(); b = new byte[fileSize]; int length = fis.read(b, 0, fileSize); fis.close(); if (b != null) { Image im = Image.createImage(b, 0, b.length); ImageItem imi = new ImageItem("", im, Item. PLAIN, ""); imageViewer.append(imi); } display.setCurrent(imageViewer); } catch (Exception e) { e.printStackTrace(); } } public void itemStateChanged(Item item) { if (savedMessageAppear == true && vidForm.size() > 1) { vidForm.delete(vidForm.size() - 1); savedMessageAppear = false; } try { if (item != null) { if (item == exposureModes) { camCtrl.setExposureMode(exposureModes.getString( exposureModes.getSelectedIndex())); } else if (item == F_StopsCG) { expCtrl.setFStop(Integer.parseInt( F_StopsCG.getString(F_StopsCG.getSelectedIndex()))); int fpStop = expCtrl.getFStop(); int expTime = expCtrl.getExposureTime(); int EV = expCtrl.getExposureValue(); System.out.println("The EV is: " + EV); } else if (item == flashModes) { String mode = flashModes.getString(flashModes.getSelectedIndex()); for (int i = 0; i < flashAllModes.length; i++) { if (mode.equals(flashAllModes[i])) { flsCtrl.setMode(i + 1); break; } } } else if (item == snapSetDisOrSave) { if(snapSetDisOrSave.getSelectedIndex() == 0) { NumOfPic = 0; snapSetFreezeOrConfirm.setSelectedIndex(0, true); if (snapshotSettingsForm.size() > 2) { snapshotSettingsForm.delete(2); } if (snapshotSettingsForm.size() > 1) { snapshotSettingsForm.delete(1); } } else { NumOfPic = -2; if (snapshotSettingsForm.size() == 1) { snapshotSettingsForm.append(snapSetFreezeOrConfirm); if (snapSetFreezeOrConfirm.getSelectedIndex() == 2) { snapshotSettingsForm.append(burstNum); } } } } else if (item == snapSetFreezeOrConfirm) { if(snapSetFreezeOrConfirm.getSelectedIndex() == 0) { if(snapshotSettingsForm.size() == 3) { snapshotSettingsForm.delete(2); } NumOfPic = -2; } else if(snapSetFreezeOrConfirm.getSelectedIndex() == 1) { if(snapshotSettingsForm.size() == 3) { snapshotSettingsForm.delete(2); } NumOfPic = -1; } else if(snapSetFreezeOrConfirm.getSelectedIndex() == 2) { snapshotSettingsForm.append(burstNum); NumOfPic = 1; } } } } catch (Exception e) { e.printStackTrace(); } } private void doSnapshot(final int maxShots) { if (maxShots == 0) { doSnapshot(); return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -