从黑莓设备读取/写入照片的方法

时间:2012-01-10 07:17:14

标签: blackberry bitmap save photo

我正在尝试创建一个黑莓应用,我需要在其中拍摄用户已保存或拍摄在黑莓上的照片,然后将其添加到另一张照片并保存照片,以便当用户进入他们的保存的照片然后新照片可用。我目前正在努力解决如何访问用户的照片,然后将新照片保存在用户可以获取它的地方,并最终将其添加为手机的背景图像。

1 个答案:

答案 0 :(得分:1)

从设备读取图像的代码。

public void checkImages(String imagePath) {
    String path = "";
    if (imagePath.equals(""))
        path = "file:///SDCard/";
    else
        path = imagePath;
    try {
        FileConnection fileConnection = (FileConnection)Connector.open(path);
        if (fileConnection.isDirectory()) {
            Enumeration directoryEnumerator = fileConnection.list("*", true);
            while(directoryEnumerator.hasMoreElements()) {
                contentVector.addElement(directoryEnumerator.nextElement());
            }
            fileConnection.close();
            for (int i = 0 ; i < contentVector.size() ; i ++) {
                String name = (String) contentVector.elementAt(i);
                checkImages(path + name);
            }
        }
        else {
            if (path.toLowerCase().endsWith(".jpg")) {
                fileConnection.close();
            }
        }
    } catch (Exception ex) { }
}

将图像保存到设备的代码..

private void saveBitmap(int picIndex, Bitmap bmp) 
{

    String PHOTO_DIR = System.getProperty ("fileconn.dir.photos"); 
    String EXTENSION = ".bmp";
    String filePath = PHOTO_DIR + picIndex + EXTENSION;        

    try
    {
        FileConnection fconn = (FileConnection)Connector.open(filePath, Connector.READ_WRITE); 

        if(fconn.exists())
           fcomm.delete();

        fconn.create();

        OutputStream outputStream = fconn.openOutputStream();

        PNGEncodedImage encodedImage =  PNGEncodedImage.encode(bmp);
        byte[] imageBytes = encodedImage.getData();                   
       outputStream.write(imageBytes);
       outputStream.close();
        fconn.close();
    }
    catch(Exception e){
        System.out.println("  Exception while saving Bitmap:: "+e.toString());
    }
}

并从Read/Write Image获得帮助。