如何将图像设置为画布背景而不是让它在 Android Studio/JavaScript 中填充颜色

Posted

技术标签:

【中文标题】如何将图像设置为画布背景而不是让它在 Android Studio/JavaScript 中填充颜色【英文标题】:How to set image as canvas background instead of having it fill color in Android Studio/JavaScript 【发布时间】:2021-10-10 20:39:41 【问题描述】:

我有画布的颜色工作,它可以准确地填充蓝色作为画布的背景。但是,我现在如何更改它以填充图像作为背景而不是颜色。它似乎根本不起作用。我已将要设置颜色的部分加粗。我们将不胜感激所有帮助!

private void draw()

    if (ourHolder.getSurface().isValid()) 

        canvas= ourHolder.lockCanvas();

        **canvas.drawColor(Color.argb(255, 26, 128, 182));**
        
        paint.setColor(Color.argb(255, 231, 172, 104));

        canvas.drawBitmap(playerShip.getBitmap(), playerShip.getX(), ScreenY - playerShip.getHeight(), paint);

        for(int i = 0; i < numInvaders; i++) 
            if (invaders[i].getVisibility()) 
                if (uhOroh) 
                    canvas.drawBitmap(invaders[i].getBitmap(), invaders[i].getX(), invaders[i].getY(), paint);
                 else 
                    canvas.drawBitmap(invaders[i].getBitmap2(), invaders[i].getX(), invaders[i].getY(), paint);
                

【问题讨论】:

【参考方案1】:

您可以使用 Graphics 类的对象,而不是使用颜色类的对象吗?像这样设置背景:

Image img = ImageIO.read(new File("background.jpg");
public void paint(Graphics g)

    // Draw the previously loaded image to Component.
    g.drawImage(img, 0, 0, null);


【讨论】:

你能告诉我在我已经拥有的代码中具体在哪里实现代码吗?那真的很有帮助!

以上是关于如何将图像设置为画布背景而不是让它在 Android Studio/JavaScript 中填充颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何设置图像以填充画布

将视频设置为背景

将图像数据URI(base64)设置为画布背景

如何在视频元素中播放画布?

仅更改覆盖图像的颜色而不是整个画布 Fabricjs

使 SliverAppBar 具有图像作为背景而不是颜色