Как преобразовать изображение ImageView в байт-код с помощью кодирования Base64? - PullRequest
0 голосов
/ 17 февраля 2012

Я работаю с изображением.В моем приложении я отобразил изображение из drawable и установил это рисуемое изображение в ImageView.Когда я нажимаю кнопку, я хочу закодировать изображение ImageView в байт-код, используя Base64.

Я реализовал код следующим образом:

((ImageView)findViewById(R.id.imageView1)).setImageResource(R.drawable.person);

((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        ((TextView)findViewById(R.id.textView1)).setText("Get((ImageView)findViewById(R.id.imageView1)) image Base64.encode() here");
    }
});

Как получить закодированный imageView1Изображение в байт-код?

Может кто-нибудь, пожалуйста, помогите мне.

Ответы [ 3 ]

3 голосов
/ 17 февраля 2012

Попробуйте это ...

    Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.images);
    ByteArrayOutputStream stream=new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
    byte[] image=stream.toByteArray();
    System.out.println("byte array:"+image);

    String img_str = Base64.encodeToString(image, 0);
    System.out.println("string:"+img_str);

Теперь установите эту строку для вашего Textview как

    tv.setText(img_str);
1 голос
/ 17 февраля 2012

Посмотрите на этот код,

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.person)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bMap .compress(Bitmap.CompressFormat.PNG, 100, baos);
//bMap is the bitmap object
byte[] b = baos.toByteArray(); 
String encodedString = Base64.encodeToString(b, Base64.DEFAULT)
1 голос
/ 17 февраля 2012

используйте это

public String encode(Bitmap icon) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        icon.compress(Bitmap.CompressFormat.PNG, 50, baos);
        byte[] data = baos.toByteArray();
        String test = Base64.encodeBytes(data);
        return test;
    }`
...