Kode Canvas API Murni, P5.js, dan Konva.js untuk Obyek yang Sama

Jumat, 20 Juni 2025 edit

Berikut catatan ketika belajar kode Canvas API Murni, library P5.js, dan library Konva.js untuk menampilkan obyek yang sama persis. Obyek ini berupa kota merah dengan ukuran kanvas 360px `x` 360px. Catatan di sini hanya untuk pembelajaran ketika ingin membuat obyek statis 2D yang ditampilkan dalam laman weblog.

Visual contoh yang digunakan dalam postingan ini menggunakan Canvas API murni yang menghasilkan visual sama untuk untuk library p5.js, dan konva.js.






Kode di bawah ini dapat disalin untuk disimpan sebagai file html

Kode dengan Canvas API murni:

<!DOCTYPE html>
<html>
<body>
  <canvas id="myCanvas" width="360" height="360"></canvas>
  <script>
    const canvas = document.getElementById('myCanvas');
    const ctx = canvas.getContext('2d');

    // Background abu-abu
    ctx.fillStyle = '#dddddd';
    ctx.fillRect(0, 0, canvas.width, canvas.height);

    // Rectangle merah
    ctx.fillStyle = 'red';
    ctx.fillRect(100, 100, 50, 50);
  </script>
</body>
</html>


Kode dengan library p5.js:

<!DOCTYPE html>
<html>
<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>
</head>
<body>
  <script>
    function setup() {
      createCanvas(360, 360);
    }

    function draw() {
      background(220); // Warna latar abu-abu
      fill('red');     // Warna isi merah
      noStroke();      // Tidak ada outline
      rect(100, 100, 50, 50); // (x, y, width, height)
    }
  </script>
</body>
</html>


Kode dengan library Konva.js:

<!DOCTYPE html>
<html>
<head>
  <script src="https://unpkg.com/konva@8.3.2/konva.min.js"></script>
</head>
<body>
  <div id="container"></div>
  <script>
    const stage = new Konva.Stage({
      container: 'container',
      width: 360,
      height: 360,
    });

    const bgLayer = new Konva.Layer();
    const background = new Konva.Rect({
      x: 0,
      y: 0,
      width: 360,
      height: 360,
      fill: '#dddddd',
    });
    bgLayer.add(background);
    stage.add(bgLayer);

    // Layer untuk objek utama
    const layer = new Konva.Layer();
    const rect = new Konva.Rect({
      x: 100,
      y: 100,
      width: 50,
      height: 50,
      fill: 'red',
      stroke: 'black',
      strokeWidth: 0,
    });

    layer.add(rect);
    stage.add(layer);
  </script>
</body>
</html>

Bagikan di

Tidak ada komentar:

Posting Komentar

 
Copyright © 2015-2025 Urip dot Info | Disain Template oleh Herdiansyah Dimodivikasi Urip.Info