2013-10-05 45 views
0
ImageView testImage = (ImageView) findViewById(R.id.imageView1); 
Bitmap bitmap = ((BitmapDrawable)testImage.getDrawable()).getBitmap(); 
bitmap.setHasAlpha(true); 
bitmap.setPixel(10, 10, Color.argb(255,255,255,255)); 

我的程序崩潰immeadiately當我嘗試我的主要活動中運行這些代碼裏面的onCreateAndroid setPixel(int x,int y,int color)讓我的程序崩潰,我該如何解決它?

我在做什麼錯?我想要做的只是改變位圖中的一個像素

+3

閱讀(包括)的異常信息。 – user2246674

+1

LogCat是解決錯誤的最佳工具之一。習慣於閱讀和理解它告訴你什麼。首先要檢查的是「文本」列中的任何「由......引起......」註釋。這也會有一個行號,告訴你代碼出現問題的位置。 –

回答

0

什麼是異常?正如我默認記住的位圖是不可變的意味着你不能修改它。創建位圖的副本是必需的。

0

這將工作

ImageView testImage = (ImageView) findViewById(R.id.imageView1); 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    Resources res = context.getResources(); 
    options.inMutable = true; 
    Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.testImage, 
        options); 
    bitmap.setPixel(10, 10, Color.argb(255,255,255,255)); 
相關問題