【问题标题】:How to set the Image to appear behind the current canvas?如何设置图像出现在当前画布后面?
【发布时间】:2011-11-03 12:23:26
【问题描述】:

我正在使用画布绘制不同的颜色。 我想设置应该显示为画布背景的图像。当我在该图像上绘图时,它应该绘制在图像上而不是图像后面。 现在使用下面的代码,它正在图像后面绘制。

 @Override
    public void run() {
        Canvas canvas = null;
        while (_run){
            try{
                canvas = mSurfaceHolder.lockCanvas(null);

                canvas.drawColor(0, PorterDuff.Mode.CLEAR);

                commandManager.executeAll(canvas);
            } finally {
                Bitmap kangoo = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
                canvas.drawBitmap(kangoo, 130, 100, null);

                mSurfaceHolder.unlockCanvasAndPost(canvas);
            }
        }

    }

那么我应该怎么做才能在图像上绘图???

【问题讨论】:

    标签: android android-layout android-emulator android-canvas


    【解决方案1】:

    当您在 While(1) 循环中重绘画布时,您可以将语句 canvas.drawBitmap(kangoo, 130, 100, null) 放在循环内的顶部,以便它一次又一次地绘制,然后您是否在其顶部进行绘画。

    如果你想保存绘制的部分,你可以做一些像将画布转换为位图这样的事情:

    Bitmap  bitmapToBeDrawnFromNextTime = Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas imageCanvas = new Canvas(bitmapToBeDrawnFromNextTime);
    imageCanvas.draw(canvas);
    

    【讨论】:

      【解决方案2】:

      没有人给我答案。 但我得到了解决方案,我必须在清除画布后设置图像。

      代码:

       @Override
          public void run() {
              //Canvas canvas = null;
              while (_run){
      
      
                  try{
                      canvas = mSurfaceHolder.lockCanvas(null);
      
                      canvas.drawColor(0, PorterDuff.Mode.CLEAR);
      
                      Bitmap kangoo = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
                      canvas.drawBitmap(kangoo, 130, 100, null);
                      commandManager.executeAll(canvas);
      
                  } finally {
      
                      mSurfaceHolder.unlockCanvasAndPost(canvas);
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-01
        • 2016-04-15
        • 2021-06-12
        • 2019-03-27
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 1970-01-01
        相关资源
        最近更新 更多