DIR : /home/kozerus/public_html/go/konva1.html

/home/kozerus/public_html/go

Responsive Canvas Stage Demo
view raw

<!DOCTYPE html>
<html>
  <head>
<!--    <script src="https://unpkg.com/konva@8.3.0/konva.min.js"></script> -->
	<script id=script_konva_min_js src="/go/js/konva_min.js"></script>

	<meta charset="utf-8" />
	<title>Konva Responsive Canvas Demo</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-color: #f0f0f0;
      }

      #stage-parent {
        width: 100%;
      }
    </style>
  </head>

  <body>
    <div id="stage-parent">
      <div id="container"></div>
    </div>
    <script>
      // let's think our scene virtual size will be 1000x1000px
      // but the real size will be different to fit user's page
      var sceneWidth = 1000;
      var sceneHeight = 1000;

      var stage = new Konva.Stage({
        container: 'container',
        // first just set set as is
        width: sceneWidth,
        height: sceneHeight,
      });

      var layer = new Konva.Layer();
      stage.add(layer);

      // add circle into center
      var circle = new Konva.Circle({
        radius: 50,
        fill: 'red',
        x: stage.width() / 2,
        y: stage.height() / 2,
      });
      layer.add(circle);

      // rectangle in bottom right of the stage
      var rect = new Konva.Rect({
        fill: 'green',
        x: stage.width() - 100,
        y: stage.height() - 100,
        width: 100,
        height: 100,
      });
      layer.add(rect);

      function fitStageIntoParentContainer() {
        var container = document.querySelector('#stage-parent');

        // now we need to fit stage into parent container
        var containerWidth = container.offsetWidth;

        // but we also make the full scene visible
        // so we need to scale all objects on canvas
        var scale = containerWidth / sceneWidth;

        stage.width(sceneWidth * scale);
        stage.height(sceneHeight * scale);
        stage.scale({ x: scale, y: scale });
      }

      fitStageIntoParentContainer();
      // adapt the stage on any window resize
      window.addEventListener('resize', fitStageIntoParentContainer);
    </script>
  </body>
</html>


//


koh5_pano



Your browser does not support the HTML5 canvas element.


Drag mouse to navigate.

Navigation





17.Aug.2010, Martin Wengenmayer