Android 台灣中文網

標題: 關於bitmap的setpixel問題 [打印本頁]

作者: ycchen23    時間: 2015-2-22 15:44
標題: 關於bitmap的setpixel問題
各位大大好, 小弟是初學android的初心者
最近在做關於在螢幕上畫pattern,需設定每個pixel的顏色程式碼如下:
但遇到一個問題,就是在高解析度的設備(LG G2; 4.4.2)時會出現xxx has been stop,
似乎是因解析度太高for太久了(在低解析度的設備(tiny4412 ;4.2.2)上不會有問題)
後來我將此function開一個thread去執行也出現一樣問題, 或者另外開service將thread放置在裡面也一樣
不曉得是寫法有誤還是寫法太笨了
希望各位大大可以幫忙推薦方法讓小弟改進
感謝~~~

    public static Bitmap SetPattern()
    {
        Bitmap mBitmap;
        DisplayMetrics dm = new DisplayMetrics();
        DrawActivity.drawactivity.getWindowManager().getDefaultDisplay().getRealMetrics(dm);        
        mBitmap = Bitmap.createBitmap(dm.widthPixels, dm.heightPixels, Bitmap.Config.ARGB_8888);
        
        for(int m=0; m < dm.widthPixels; m++)
        {
                for(int n=0; n < dm.heightPixels; n++)
                {
                        if((m==0) || (m%6==0))
                        {
                                mBitmap.setPixel(m, n, Color.RED);
                        }
                        else
                        {
                            if(m%6==1)    mBitmap.setPixel(m, n, Color.BLACK);  
                            else if(m%6==2)    mBitmap.setPixel(m, n, Color.BLUE);  
                            else if(m%6==3)    mBitmap.setPixel(m, n, Color.BLACK);  
                            else if(m%6==4)    mBitmap.setPixel(m, n, Color.GREEN);  
                            else if(m%6==5)    mBitmap.setPixel(m, n, Color.BLACK);                                     
                        }       
                }       
        }
        return mBitmap;        
    }




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1