Je convertis une chaîne de caractères en une image dans mon application android. En suivant différents messages sur SO, j'ai écrit ce code. Mais il n'affiche pas l'image. Y at-il un problème avec le code?conversion de la chaîne de caractères en image
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.editText1);
iv = (ImageView) findViewById(R.id.imageView1);
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text = et.getText().toString();
byte[] data = null;
try {
data = text.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
final String base64 = Base64.encodeToString(data, Base64.DEFAULT);
Bitmap bit = StringToBitMap(base64);
iv.setImageBitmap(bit);
}
});
}
public Bitmap StringToBitMap(String encodedString){
try{
byte [] encodeByte=Base64.decode(encodedString,Base64.DEFAULT);
Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
return bitmap;
}catch(Exception e){
e.getMessage();
return null;
}
}
Ceci ne le convertit pas réellement en une image. Cela convertit les octets qui composent une chaîne en base64, puis essaie de les afficher comme s'il s'agissait d'une image, ce qui, comme vous l'avez constaté, ne fonctionnera pas. Si vous voulez en extraire une image, je pense que vous devez utiliser canvas/Paint pour dessiner la chaîne. – FoamyGuy
@FoamyGuy merci .. Pourriez-vous s'il vous plaît expliquer avec du code? Je suis un débutant en android – newbee