2011-09-16 6 views
-1

私はアンドロイドでタッチイベントでラインを描こうとしています。 しかし、いくつかの問題があります。Androidの黒と他の色の違いは何ですか?

黒線を描こうとすると正常に動作します。 しかし、他の色を使って線を描こうとすると、何らかの色合いになります。

理由を知りたいのですが。

public void run(){ 
    int tempAngle; 
    Canvas canvas = null; 
    while(flag){ 
     canvas = mHolder.lockCanvas(); 
     try{ 
      synchronized (mHolder) { 

       canvas.drawBitmap(imgBack, 0,0,null);//draw background image(.png) 
       tempAngle = checkAngle((int)x2,(int)y2); 

       if(centerFlag2){ 
        // mPaint.setColor(Color.Black) is working normally, but other 
        // colors(Color.WHITE,RED,.etc) makes some kind of shade. 
        // It just keep exists past lines on surface view. 
        // But I don't know the reason why. 
        canvas.drawLine(width/2, width/2, x1, y1, mPaint);//draw a line. 
        checkNumber(tempAngle); 
        } 

       if(centerFlag){ 
       canvas.drawLine(width/2, width/2, x1, y1, mPaint); 
       checkNumber(tempAngle); 
       } 
       if(hourFlag){ 
        canvas.drawLine(width/2, width/2, tempX, tempY, mPaint2); 
       } 
      } 

     }finally{ 
      if(canvas!=null){ 
       mHolder.unlockCanvasAndPost(canvas); 
      } 
     } 
    } 

} 
+0

「何らかの陰影」とはどういう意味ですか? – Nick

+1

どのように他の色を設定しますか? 'Color'クラスの定数もありますか? –

+0

あなたの「他の色」が何であるか、どのように定義したのかがわかると助かります。 –

答えて

2

私はこの問題を自分で解決しました。一息。 理由はビューの基本色は黒でした。

私の背景イメージは透過でした。

イメージの背景色を黒に変更しました。それでおしまい。 :D

とにかく、ありがとうございます。

0

のは、このmPaint.setARGBなどのARGBカラーコードを設定してみましょう(255、255、0、0);

関連する問題