2014-03-04 4 views
0

Друзья, когда я пытался использовать setPixel (x, y, color) в своем приложении, он возвращает NullPointerException и останавливает работу. Вот мой код. Пожалуйста, помогите мне выйти из-за ошибки. Заранее спасибоsetPixel() возвращает исключение NullPointerException

decode=(Button)findViewById(R.id.button1); 
    decode.setOnClickListener(new View.OnClickListener() 
    { 

     @Override 
     public void onClick(View v) 
     { 
      // TODO Auto-generated method stub 
      try 
      { 
      Bitmap result = BitmapFactory.decodeFile(filePath); 



      int x=result.getPixel(10, 10); 
      int pixelAlpha= Color.alpha(x); 
      int red = 65;// represent character A 
      int green= Color.green(x); 
      int blue= Color.blue(x); 

      int newPixel=Color.argb(pixelAlpha,red,green,blue); 

      result.setPixel(10, 10, newPixel); 


      ImageView myNewImage=(ImageView)findViewById(R.id.imageView2); 
      myNewImage.setImageBitmap(result); 

      } 
      catch(Exception exc) 
      { 
       Toast.makeText(getBaseContext(), "Exception : "+exc, Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 
+2

это не исправит вашу проблему, но используйте 'int red = 'A';' вместо 65. – Bathsheba

+2

опубликуйте свой логарифм. До этого: удалите ваш try-catch, чтобы у вас было «чистое» исключение. – DigCamara

+0

Bro, если я удалю попытку и поймаю, приложение перестанет работать без каких-либо уведомлений ,,, Soo я использую try и catch здесь – Abinthaha

ответ

2

Похоже Bitmap result = BitmapFactory.decodeFile(filePath); не может правильно расшифровать ваш Filepath. Убедитесь, что результат не равен NULL, а файл FilePath правильный.

+0

Извините, я новичок в android .. И как я могу гарантировать, что мой результат не равен нулю? Я пытался распечатать его в ImageView(), он отлично работает. Есть ли другой способ декодирования файла FilePath – Abinthaha

+0

, результат не является нулевым боссом. – Abinthaha

Смежные вопросы