微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RecordStore和从手机拍摄的照片

如何解决RecordStore和从手机拍摄的照片

| 当用户用手机拍照时,我希望LWUIT将特定的照片添加到记录存储中,然后再检索该照片。如何实现呢?     

解决方法

        RMS不适用于存储照片。因为RMS专为少量存储而设计。您无法处理大量数据。更好地,您可以从手机内存或存储卡中读取。另外,如何在没有应用程序的情况下拍摄当前拍摄的照片? 编辑: 您可以开发用于拍照的应用程序并将其存储在RMS(但不是很大)中,或者通过调用Web服务将其存储在服务器中。     ,        好的,我让应用程序通过以下命令启动摄像头:
mPlayer = Manager.createPlayer(\"capture://video\");
mPlayer.realize();

mVideoControl = (VideoControl) mPlayer.getControl(\"VideoControl\");

Canvas canvas = new CameraCanvas(this,mVideoControl);
canvas.addCommand(mBackCommand);
canvas.addCommand(mCaptureCommand);
canvas.setCommandListener(this);
mDisplay.setCurrent(canvas);
mPlayer.start();
在mCaptureCommand命令的actionPerformed中:
public void capture() {
        try {
            // Get the image.
            byte[] raw = mVideoControl.getSnapshot(null);
//                    \"encoding=png&width=320&height=240\");
            bytelen = raw.length;
            Image image = Image.createImage(raw,raw.length);

            Image thumb = createThumbnail(image);

            // Place it in the main form.
            if (mMainForm.size() > 0 && mMainForm.get(0) instanceof StringItem) {
                mMainForm.delete(0);
            }
            mMainForm.append(thumb);

            // Flip back to the main form.
            mDisplay.setCurrent(mMainForm);

            // Shut down the player.
            mPlayer.close();
            mPlayer = null;
            mVideoControl = null;
        } catch (MediaException me) {
            handleException(me);
        }
    }
createThumbnail的代码:
private Image createThumbnail(Image image) {
        int sourceWidth = image.getWidth();
        int sourceHeight = image.getHeight();

        int thumbWidth = 64;
        int thumbHeight = -1;

        if (thumbHeight == -1) {
            thumbHeight = thumbWidth * sourceHeight / sourceWidth;
        }

        Image thumb = Image.createImage(thumbWidth,thumbHeight);
        Graphics g = thumb.getGraphics();

        for (int y = 0; y < thumbHeight; y++) {
            for (int x = 0; x < thumbWidth; x++) {
                g.setClip(x,y,1,1);
                int dx = x * sourceWidth / thumbWidth;
                int dy = y * sourceHeight / thumbHeight;
                g.drawImage(image,x - dx,y - dy,Graphics.LEFT | Graphics.TOP);
            }
        }
        Image immutableThumb = Image.createImage(thumb);
        return immutableThumb;
    }
现在,我不知道在调用createThumbnail方法时(即在调用Image.createImage之后)图像的存储位置:有两个createImage调用,一个在capture()方法中,一个在createThumbnail()方法中。但是我真正的问题是知道所创建图像的位置以及如何将其与银行客户记录库ID关联。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。