2.3.76 • Published 6 months ago

canvas-editor-engine v2.3.76

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

Lib

Canvas 2D library use: typescript;

For: vue3 nuxt;

Vue3 example depricated

input:

<script lang="ts" setup>
import { ref, onMounted } from 'vue';
import type { Ref } from 'vue';

import { VueCanvasEditorEngine, DrawService, ToolService, AppConfig } from 'sprite-creator'
import type { IDrawImageArgs } from 'sprite-creator/dist/types/image';
import ExecutionDelay from 'execution-delay';

const editor: Ref<HTMLElement | null> = ref(null);

AppConfig.CANVAS_SIZE.width = 700;
AppConfig.CANVAS_SIZE.height = 450;
const sc = new VueCanvasEditorEngine();
const initial = sc.getInitial();
customElements.define(initial.tag, initial.component);

const ctx: Ref<CanvasRenderingContext2D | null> = ref(null);

const quality: Ref<number> = ref(0);
const src: Ref<string | null> = ref(null);

onMounted(() => {
  //@ts-ignore
  editor.value?.addEventListener('get-editor-element', (e: CustomEvent) => {
    const { editorElement, canvasSelector } = e.detail;
    const canvas: HTMLCanvasElement = editorElement.querySelector(canvasSelector);
    ctx.value = canvas.getContext("2d");
  });
  editor.value?.dispatchEvent(new Event('initial'));
});

function setImage(event: Event) {
  const file: Ref<File | null> = ref(null);
  const target = event.target as HTMLInputElement;

  if (target && target.files) {
    file.value = target.files[0];
  }

  if (!!file.value) {
    src.value = window.URL.createObjectURL(file.value);
  }
}

function inputQuality(event: Event) {
  const target = event.target as HTMLInputElement;
  quality.value = +target.value;
  ExecutionDelay.add('draw', () => draw(quality.value), 500);
}

function draw(qualityValue: number) {
  console.log('qualityValue', qualityValue);
  if (!!ctx.value && !!src.value) {
    const options: IDrawImageArgs = {
      position: {
        x: 0,
        y: 0,
      }
    };
    DrawService.drawSmoothImage(ctx.value, src.value, options, { quality: qualityValue });
  }
}

function takePipette() {
  console.log('ToolService.registry', ToolService.registry);
  const pipetteToolId = ToolService.registry.find((tool) => tool.name === "pipette")?.id;
  if (pipetteToolId !== undefined) {
    console.log('pipetteToolId');
    ToolService.setActive(pipetteToolId);
  }
}
</script>

<template>
  <div class="editor">
    <canvas-editor-engine class="editor" ref="editor">
      <div slot="tools">
        <div>
          <input
            id="Image"
            class="editor__image-input_input"
            name="image"
            type="file"
            accept="image/*"
            @change="setImage"
            capture
          />
        </div>
        <div>
          <input type="range" name="quality" id="Quality" min="0" max="10" @change="inputQuality">
          <span>Quality: {{ quality }}</span>
        </div>
        <button @click="takePipette">pipette</button>
      </div>
    </canvas-editor-engine>
  </div>
</template>

simple output:

<canvas-editor-engine>
  #shadow-root (open)
    <div>
      <canvas id="sc-canvas"></canvas>
    </div>
</canvas-editor-engine>
2.3.28

6 months ago

2.3.27

6 months ago

2.3.29

6 months ago

2.3.24

6 months ago

2.3.26

6 months ago

2.3.25

6 months ago

2.3.39

6 months ago

2.3.38

6 months ago

2.3.35

6 months ago

2.3.34

6 months ago

2.3.37

6 months ago

2.3.36

6 months ago

2.3.31

6 months ago

2.3.30

6 months ago

2.3.33

6 months ago

2.3.49

6 months ago

2.3.46

6 months ago

2.3.45

6 months ago

2.3.48

6 months ago

2.3.47

6 months ago

2.3.42

6 months ago

2.3.41

6 months ago

2.3.44

6 months ago

2.3.43

6 months ago

2.3.40

6 months ago

2.3.57

6 months ago

2.3.56

6 months ago

2.3.59

6 months ago

2.3.58

6 months ago

2.3.53

6 months ago

2.3.52

6 months ago

2.3.55

6 months ago

2.3.54

6 months ago

2.3.51

6 months ago

2.3.50

6 months ago

2.3.68

6 months ago

2.3.67

6 months ago

2.3.69

6 months ago

2.3.64

6 months ago

2.3.63

6 months ago

2.3.66

6 months ago

2.3.65

6 months ago

2.3.60

6 months ago

2.3.62

6 months ago

2.3.61

6 months ago

2.3.75

6 months ago

2.3.74

6 months ago

2.3.76

6 months ago

2.3.71

6 months ago

2.3.70

6 months ago

2.3.73

6 months ago

2.3.72

6 months ago

2.3.23

6 months ago

2.3.22

6 months ago

2.3.21

6 months ago

2.3.20

6 months ago

2.3.2

6 months ago

2.3.1

6 months ago

2.3.4

6 months ago

2.3.3

6 months ago

2.3.6

6 months ago

2.3.5

6 months ago

2.2.3

6 months ago

2.2.2

6 months ago

2.2.5

6 months ago

2.2.4

6 months ago

2.2.6

6 months ago

2.3.8

6 months ago

2.3.7

6 months ago

2.3.9

6 months ago

2.3.17

6 months ago

2.3.16

6 months ago

2.3.19

6 months ago

2.3.18

6 months ago

2.3.13

6 months ago

2.3.12

6 months ago

2.3.15

6 months ago

2.3.14

6 months ago

2.3.11

6 months ago

2.3.10

6 months ago

2.2.1

6 months ago

2.1.30

7 months ago

2.1.31

7 months ago

2.1.29

7 months ago

2.1.16

7 months ago

2.1.17

7 months ago

2.1.14

7 months ago

2.1.15

7 months ago

2.1.12

7 months ago

2.1.13

7 months ago

2.1.18

7 months ago

2.1.19

7 months ago

2.1.27

7 months ago

2.1.28

7 months ago

2.1.25

7 months ago

2.1.26

7 months ago

2.1.23

7 months ago

2.1.24

7 months ago

2.1.21

7 months ago

2.1.22

7 months ago

2.1.20

7 months ago

2.1.9

8 months ago

2.1.10

8 months ago

2.1.11

8 months ago

2.1.2

8 months ago

2.1.1

8 months ago

2.1.4

8 months ago

2.1.3

8 months ago

2.1.6

8 months ago

2.1.5

8 months ago

2.1.8

8 months ago

2.1.7

8 months ago

1.2.2

8 months ago

2.0.3

8 months ago

2.0.5

8 months ago

2.0.4

8 months ago

2.0.7

8 months ago

2.0.6

8 months ago

2.0.9

8 months ago

2.0.8

8 months ago

2.0.1

8 months ago

2.0.15

8 months ago

2.0.16

8 months ago

2.0.13

8 months ago

2.0.14

8 months ago

2.0.11

8 months ago

2.0.12

8 months ago

2.0.10

8 months ago

2.0.19

8 months ago

2.0.17

8 months ago

2.0.18

8 months ago

2.0.20

8 months ago

2.0.21

8 months ago

1.1.29

8 months ago

1.1.28

8 months ago

1.2.1

8 months ago

1.1.30

8 months ago

1.1.34

8 months ago

1.1.33

8 months ago

1.1.32

8 months ago

1.1.31

8 months ago

1.1.38

8 months ago

1.1.37

8 months ago

1.1.36

8 months ago

1.1.35

8 months ago

1.1.39

8 months ago

1.1.41

8 months ago

1.1.40

8 months ago

1.1.45

8 months ago

1.1.44

8 months ago

1.1.43

8 months ago

1.1.42

8 months ago

1.1.48

8 months ago

1.1.47

8 months ago

1.1.46

8 months ago

1.1.23

8 months ago

1.1.27

8 months ago

1.1.26

8 months ago

1.1.25

8 months ago

1.1.24

8 months ago

1.1.9

8 months ago

1.1.8

8 months ago

1.1.7

8 months ago

1.1.6

8 months ago

1.1.5

8 months ago

1.1.4

8 months ago

1.1.3

8 months ago

1.1.2

8 months ago

1.1.12

8 months ago

1.1.11

8 months ago

1.1.10

8 months ago

1.1.16

8 months ago

1.1.15

8 months ago

1.1.14

8 months ago

1.1.13

8 months ago

1.1.19

8 months ago

1.1.18

8 months ago

1.1.17

8 months ago

1.1.22

8 months ago

1.1.21

8 months ago

1.1.20

8 months ago

1.0.77

8 months ago

1.0.76

8 months ago

1.0.75

8 months ago

1.0.79

8 months ago

1.0.78

8 months ago

1.1.1

8 months ago

1.0.80

8 months ago

1.0.84

8 months ago

1.0.83

8 months ago

1.0.82

8 months ago

1.0.81

8 months ago

1.0.88

8 months ago

1.0.87

8 months ago

1.0.86

8 months ago

1.0.85

8 months ago

1.0.89

8 months ago

1.0.91

8 months ago

1.0.90

8 months ago

1.0.95

8 months ago

1.0.94

8 months ago

1.0.93

8 months ago

1.0.92

8 months ago

1.0.98

8 months ago

1.0.97

8 months ago

1.0.96

8 months ago

1.0.62

8 months ago

1.0.61

8 months ago

1.0.60

8 months ago

1.0.66

8 months ago

1.0.65

8 months ago

1.0.64

8 months ago

1.0.63

8 months ago

1.0.26

8 months ago

1.0.69

8 months ago

1.0.25

8 months ago

1.0.68

8 months ago

1.0.67

8 months ago

1.0.29

8 months ago

1.0.28

8 months ago

1.0.27

8 months ago

1.0.73

8 months ago

1.0.72

8 months ago

1.0.71

8 months ago

1.0.70

8 months ago

1.0.33

8 months ago

1.0.32

8 months ago

1.0.31

8 months ago

1.0.74

8 months ago

1.0.30

8 months ago

1.0.37

8 months ago

1.0.36

8 months ago

1.0.35

8 months ago

1.0.34

8 months ago

1.0.39

8 months ago

1.0.38

8 months ago

1.0.40

8 months ago

1.0.44

8 months ago

1.0.43

8 months ago

1.0.42

8 months ago

1.0.41

8 months ago

1.0.48

8 months ago

1.0.47

8 months ago

1.0.46

8 months ago

1.0.45

8 months ago

1.0.49

8 months ago

1.0.51

8 months ago

1.0.50

8 months ago

1.0.55

8 months ago

1.0.54

8 months ago

1.0.53

8 months ago

1.0.52

8 months ago

1.0.59

8 months ago

1.0.58

8 months ago

1.0.57

8 months ago

1.0.56

8 months ago

1.0.22

9 months ago

1.0.24

9 months ago

1.0.23

9 months ago

1.0.21

9 months ago

1.0.20

9 months ago

1.0.19

9 months ago

1.0.18

9 months ago

1.0.17

9 months ago

1.0.16

9 months ago

1.0.15

9 months ago

1.0.14

9 months ago

1.0.13

9 months ago

1.0.12

9 months ago

1.0.11

9 months ago

1.0.10

9 months ago

1.0.9

9 months ago

1.0.8

9 months ago

1.0.7

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago