2015-09-18 3 views
0

Я работаю над BB7 os, и мне нужно реализовать функцию Recognize.im. У меня проблема с кодированием Bitmap в массив байтов и создание массива байтов, который содержит идентификатор cliect и эти битматы. Я смотрел в Распознать документацию и есть метод на Android, который делает это правильно:Кодировать растровое изображение в Java ME

public static String getMD5FromKeyAndImage(String clientKey, byte[] image) { 
    String hash = null; 
    try { 
     java.security.MessageDigest md = java.security.MessageDigest 
       .getInstance("MD5"); 
     md.reset(); 
     md.update(clientKey.getBytes("UTF-8")); 
     md.update(image); 
     byte[] array = md.digest(); 
     StringBuffer sb = new StringBuffer(); 
     for (int i = 0; i < array.length; ++i) { 
      sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100) 
        .substring(1, 3)); 
     } 
     hash = sb.toString(); 
    } catch (Exception e) { 
     hash = null; 
    } 
    return hash; 
} 

и метод, который бросил Bitmap в массив байтов:

BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inJustDecodeBounds = false; 
     options.inPreferredConfig = Config.RGB_565; 
     options.inDither = true; 
     options.inSampleSize = 4; 
     image = BitmapFactory.decodeStream(fis, null, options); 

     if (image == null) { 
      return; 
     } 
     ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
     image.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
     pictureData = stream.toByteArray(); 
     image.recycle(); 

, но эти методы не доступны на bb7. Есть ли подобный метод, который даст мне тот же результат на Java ME?

ответ

Смежные вопросы