@blog.justoneplanet.info

日々勉強

Intent.ACTION_PICKで返ってきたIntentからBitmapを取り出す

以下のように画像選択画面を起動したとする。

    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_PICK);
    intent.setType("image/*");
    startActivityForResult(intent, GALLERY_REQUEST_CODE);

以下のようにしてbitmapを取り出せる。

Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), data.getData());

ちなみにbitmapをファイルに書き出すには以下のようにする。

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    bitmap.compress(format, 90, outputStream);
    FileOutputStream stream = new FileOutputStream(path);
    stream.write(outputStream.toByteArray());
    stream.flush();
    stream.close();
    outputStream.close();

mozcで「かお」の変換時に顔文字が表示されないようにする

現状、かおの変換候補表示にタイムラグがある。

rewriter/emoticon_rewriter.cc

bool RewriteCandidate(Segments *segments)

以下の部分を削除する。

      // "かお"
    } else if (key == "\xE3\x81\x8B\xE3\x81\x8A") {
      // When key is "かお", expand all candidates in conservative way.
      const EmbeddedDictionary::Token *token
          = Singleton<EmoticonDictionary>::get()->GetDictionary()->AllToken();
      CHECK(token);
      // first 6 candidates are inserted at 4 th position.
      // Other candidates are pushed to the buttom.
      value = token->value;
      value_size = token->value_size;
      initial_insert_pos = 4;
      initial_insert_size = 6;

rewriter/emoticon_rewriter_test.ccに2箇所ほど「かお」の変換をテストしている箇所があるので削除する。