2017-05-07 12 views
0

ビットマップをBase64に変換する際に問題があります。私はカメラやギャラリーからいくつかの画像を投稿したい。私はイメージとしてそれらを取得し、私はbase64に変換する必要がありますが、私は文字列を取得しているときにhttp://codebeautify.org/base64-to-image-converterと私のイメージを見るためにテストしています。結果は非常に悪い品質です。どのように私はこのpls私を助ける修正することができますか?画像のサムネイルのみですAndroidからビットマップをBase64文字列に変換する問題

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
    switch(requestCode) 
    { 
     case 0: 
      if(resultCode == RESULT_OK) 
      { 
       Bundle extras = imageReturnedIntent.getExtras(); 
       Bitmap selectedImage = (Bitmap)extras.get("data"); 
       secilenImage.setImageBitmap(selectedImage); 
       String encodedImage; 
       ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
       try 
       { 
        selectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream); 
        byte[] b = stream.toByteArray(); 
        encodedImage = Base64.encodeToString(b, Base64.DEFAULT); 
        images.add(i, encodedImage); 
        Log.d("StringForCamera: ", encodedImage); 
        stream.close(); 
       } 
       catch(IOException e) 
       { 
        e.printStackTrace(); 
       } 
       secilenImage.setImageBitmap(selectedImage); 
       secilenImage.setEnabled(false); 
      } 
      break; 
     case 1: 
      if(resultCode == RESULT_OK) 
      { 
       Uri imageUri = imageReturnedIntent.getData(); 
       Bitmap selectedImage = null; 
       String encodedImage; 
       try 
       { 
        selectedImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri); 
        ByteArrayOutputStream byteArrayBitmapStream = new ByteArrayOutputStream(); 
        selectedImage.compress(Bitmap.CompressFormat.PNG, 100, byteArrayBitmapStream); 
        byte[] b = byteArrayBitmapStream.toByteArray(); 
        encodedImage = Base64.encodeToString(b, Base64.NO_WRAP); 
        images.add(i, encodedImage); 
        Log.d("StringForGallery: ",encodedImage); 
       } 
       catch(IOException e) 
       { 
        e.printStackTrace(); 
       } 
       secilenImage.setImageBitmap(selectedImage); 
       secilenImage.setEnabled(false); 
      } 
      break; 
    } 
    ++i; 
} 

答えて

0
(Bitmap)extras.get("data"); 

: はここに私のコードです。したがって、低品質です。

+0

こんにちは、お返事ありがとうございます。では、どうやってカメラから画像を取得できますか? 編集:私はギャラリーで同じ問題があります。 –

+0

Theteはインターネットとこのサイトでカメラで写真を撮るための何百もの試験です。あなたの問題は頻繁に報告されています。使用された意図のためだけにGoogle。 – greenapps

関連する問題