【问题标题】:Android cannot draw transparent rectangle on canvasAndroid 无法在画布上绘制透明矩形
【发布时间】:2014-12-11 20:55:41
【问题描述】:

尝试使用透明背景绘制并在其上绘制线条。 然而,它绘制了一个黑色矩形而不是 transparet。 如果我将颜色更改为红色,它可以正常工作。 所以我猜是透明的问题。

       drawPoints[currentpoint*4+0] = 0; 
       drawPoints[currentpoint*4+1] = 10;
       drawPoints[currentpoint*4+2] = 20; 
       drawPoints[currentpoint*4+3] = 40;

        Canvas mCanvas = sfh.lockCanvas(new Rect(10,20,50,100));
        mCanvas.drawColor(Color.TRANSPARENT);           
        mCanvas.drawLines(drawPoints,mPaint);
        sfh.unlockCanvasAndPost(mCanvas);

为什么会画黑?

【问题讨论】:

    标签: android graphics


    【解决方案1】:

    如果你想要透明度,你可以试试:

    mPaint.setAlpha(100);
    

    或 0 到 255 之间的某个值。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      您希望将 Paint 对象的颜色设置为 Color.TRANSPARENT,而不是画布的颜色。所以试试

      mPaint.setColor(Color.TRANSPARENT);
      

      【讨论】:

        【解决方案3】:

        我在网上找到这个,我认为可以工作

        Paint pincel1=new Paint();
        paint.setARGB(255,255,0,0);
        
        canvas.drawRect(10,10,ancho-10,40,pincel1);
        
        pincel1.setStyle(Style.STROKE);
        canvas.drawRect(10,60,ancho-10,90,pincel1);
        
        pincel1.setStrokeWidth(3);
        canvas.drawRect(10,110,ancho-10,140,pincel1);
        

        image http://www.javaya.com.ar/androidya/imagentema/foto137.jpg

        感谢 javaya.com/ar 获取代码

        code

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-11
          • 2019-09-01
          • 1970-01-01
          • 2013-11-25
          相关资源
          最近更新 更多