代码之家  ›  专栏  ›  技术社区  ›  Tyler Weiss

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

  •  1
  • Tyler Weiss  · 技术社区  · 8 年前

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

    谢谢大家的帮助!

    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();
                }
            }
    

    Img1

    Img2

    1 回复  |  直到 8 年前
        1
  •  1
  •   Tyler Weiss    8 年前

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