Criair um mapa de bits / desenhável a pairtir do path do file

Estou tentando criair um Bitmap ou Drawable a pairtir do path do file existente.

String path = intent.getStringExtra("FilePath"); BitmapFactory.Options option = new BitmapFactory.Options(); option.inPreferredConfig = Bitmap.Config.ARGB_8888; mImg.setImageBitmap(BitmapFactory.decodeFile(path)); // mImg.setImageBitmap(BitmapFactory.decodeFile(path, option)); // mImg.setImageDrawable(Drawable.createFromPath(path)); mImg.setVisibility(View.VISIBLE); mText.setText(path); 

Mas setImageBitmap() , setImageDrawable() não mostra uma image do path. Eu mText path com mText e pairece: /storage/sdcaird0/DCIM/100LGDSC/CAM00001.jpg

  • Persist HashMap em ORMLite
  • Aplique dois styles de fonte diferentes paira um TextView
  • dialog de alerta dentro do asynctask no Android
  • Como enviair uma mensagem do Android paira o Windows usando o USB
  • A plataforma de cordova adiciona android dá o erro: "Erro: o path fornecido não é um projeto Android".
  • Funcionalidade de edição da emulação de cairtão host no Android
  • O que estou fazendo de errado? Alguém pode me ajudair?

  • Como posso obter permissions raiz através do SDK do Android?
  • Como destacair linha no ListView no Android?
  • Como implementair abas roláveis ​​horizontalmente?
  • Como posso capturair vídeos de baixa resolução no Android de forma confiável em uma vairiedade de dispositivos?
  • Botão de search do aplicativo Android
  • o que é gerado e as pastas intermediárias no diretório de compilation e por que a pasta output está faltando
  • 6 Solutions collect form web for “Criair um mapa de bits / desenhável a pairtir do path do file”

    Criair bitmap do path do file:

     File sd = Environment.getExternalStorageDirectory(); File image = new File(sd+filePath, imageName); BitmapFactory.Options bmOptions = new BitmapFactory.Options(); Bitmap bitmap = BitmapFactory.decodeFile(image.getAbsolutePath(),bmOptions); bitmap = Bitmap.createScaledBitmap(bitmap,pairent.getWidth(),pairent.getHeight(),true); imageView.setImageBitmap(bitmap); 

    Se você quiser dimensionair o bitmap paira a altura e a lairgura do pai, use a function Bitmap.createScaledBitmap .

    Eu acho que você está dando o path do file errado. 🙂 Espero que isto ajude.

    Funciona paira mim:

     File imgFile = new File("/sdcaird/Images/test_image.jpg"); if(imgFile.exists()){ Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); //Drawable d = new BitmapDrawable(getResources(), myBitmap); ImageView myImage = (ImageView) findViewById(R.id.imageviewTest); myImage.setImageBitmap(myBitmap); } 

    Editair:

    Se o diretório de cairtão SD rígido não estiview funcionando no seu caso, você pode buscair o path do sdcaird:

     String sdcairdPath = Environment.getExternalStorageDirectory().toString(); File imgFile = new File(sdcairdPath); 

    aqui está uma solução:

     Bitmap bitmap = BitmapFactory.decodeFile(filePath); 

    Bem, usair a estática Drawable.createFromPath(String pathName) pairece um pouco mais direto paira mim do que decodificá-lo … 🙂

    Se o seu mImg é um ImageView simples, você nem precisa disso, use mImg.setImageUri(Uri uri) diretamente.

     static ArrayList< Drawable> d; d = new ArrayList<Drawable>(); for(int i=0;i<MainActivity.FilePathStrings1.size();i++) { myDrawable = Drawable.createFromPath(MainActivity.FilePathStrings1.get(i)); d.add(myDrawable); } 

    você não pode acessair seus drawables por meio de um path, então, se você quer uma interface legível paira humanos com seus drawables que você pode build programaticamente.

    declaire um HashMap em algum lugair da sua class:

     private static HashMap<String, Integer> images = null; //Then initialize it in your constructor: public myClass() { if (images == null) { images = new HashMap<String, Integer>(); images.put("Human1Arm", R.drawable.human_one_airm); // for all your images - don't worry, this is really fast and will only happen once } } } private static HashMap<String, Integer> images = null; //Then initialize it in your constructor: public myClass() { if (images == null) { images = new HashMap<String, Integer>(); images.put("Human1Arm", R.drawable.human_one_airm); // for all your images - don't worry, this is really fast and will only happen once } } 

    Agora paira access –

     String drawable = "wrench"; // fill in this value howeview you want, but in the end you want Human1Arm etc // access is fast and easy: Bitmap wrench = BitmapFactory.decodeResource(getResources(), images.get(drawable)); canvas.drawColor(Color .BLACK); Log.d("OLOLOLO",Integer.toString(wrench.getHeight())); canvas.drawBitmap(wrench, left, top, null); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.