Many elements

← p5.html

p5-text
<p5-canvas width="200" height="200">
    <p5-translate x="90" y="14">
        <p5-scale x="-1" y="1">
            <p5-text>p5-text</p5-text>
        </p5-scale>
    </p5-translate>
    <p5-translate x="30" y="30" class="noisy">
        <p5-scale x="0.5" y="0.5">
            <p5-image src="/static/rc.svg"></p5-image>
        </p5-scale>
    </p5-translate>
    <p5-translate x="20" y="20">
        <p5-rotate angle="45">
            <p5-ellipse w="30" h="20"></p5-ellipse>
        </p5-rotate>
    </p5-translate>
</p5-canvas>

<style>
    p5-canvas {
        background: lightblue;
    }
    p5-rect {
        color: blue;
        background: green;
    }
    p5-ellipse {
        color: red;
        background: rgb(from orange r g b / 0.5);
    }
    p5-text {
        color: transparent;
        background: black;
    }
</style>

<script>
    time = 0.0;

    function draw() {
        fill("blue");
        rect(20, 20, 50, 50);
        noFill();

        Array.from(p5Root.getElementsByClassName("noisy")).forEach((el) => {
            el.setAttribute("x", el.x + (noise(time) - 0.5));
            el.setAttribute("y", el.y + (noise(time + 10) - 0.5));
        });

        time += 0.01;
    }
</script>