添加到画布时,位图以蓝色色调显示(android studio)

时间:2016-11-29 02:58:53

标签: java android android-studio canvas android-bitmap

我一直在尝试将位图添加到画布,但到目前为止我发现我添加的每个图像都有蓝色色调。将图像添加到画布时,我没有使用绘画。我的代码在下面,我附加了屏幕截图和原始图像。

谢谢大家的帮助!

while(isItOk) {
            if (!holder.getSurface().isValid()) {
                continue;
            }
            Canvas c = holder.lockCanvas();
            c.drawBitmap(cuttingBoard,0,0,null);
            c.drawText("0",(float)c.getWidth()/2-50,(float)120, textPaint);
            c.drawText("0/10",(float)30,(float)120, textPaint);
            time = Math.round((frame/FPS) *10)/10.0;
            frame++;
            c.drawText(time +"s",(float)c.getWidth() - 410,(float)120, textPaint);
            holder.unlockCanvasAndPost(c);
            try{Thread.sleep(1000/FPS);}catch(Exception ex){
                ex.printStackTrace();
            }
        }

蓝色图像,即我的Android设备上显示的图像:

Img1

原始图片:

Img2

1 个答案:

答案 0 :(得分:1)

这个帖子可能看起来像我只是在跟自己说话,但我想我会发布我的发现以防其他人遇到这个问题。问题是SurfaceHolder的格式。它只能设置为32位RGBA。位图只能在前面配置Alpha管道(我认为这是正确的术语?),而PNG在后面包含alpha管道。所以我把所有的位图都保存为PNG,这解决了我的问题!