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

7 months ago

2.3.21

7 months ago

2.3.20

7 months ago

2.3.2

7 months ago

2.3.1

7 months ago

2.3.4

7 months ago

2.3.3

7 months ago

2.3.6

7 months ago

2.3.5

7 months ago

2.2.3

7 months ago

2.2.2

7 months ago

2.2.5

7 months ago

2.2.4

7 months ago

2.2.6

7 months ago

2.3.8

7 months ago

2.3.7

7 months ago

2.3.9

7 months ago

2.3.17

7 months ago

2.3.16

7 months ago

2.3.19

7 months ago

2.3.18

7 months ago

2.3.13

7 months ago

2.3.12

7 months ago

2.3.15

7 months ago

2.3.14

7 months ago

2.3.11

7 months ago

2.3.10

7 months ago

2.2.1

7 months ago

2.1.30

7 months ago

2.1.31

7 months ago

2.1.29

7 months ago

2.1.16

8 months ago

2.1.17

8 months ago

2.1.14

8 months ago

2.1.15

8 months ago

2.1.12

8 months ago

2.1.13

8 months ago

2.1.18

8 months ago

2.1.19

8 months ago

2.1.27

8 months ago

2.1.28

8 months ago

2.1.25

8 months ago

2.1.26

8 months ago

2.1.23

8 months ago

2.1.24

8 months ago

2.1.21

8 months ago

2.1.22

8 months ago

2.1.20

8 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

9 months ago

1.0.76

9 months ago

1.0.75

9 months ago

1.0.79

9 months ago

1.0.78

9 months ago

1.1.1

9 months ago

1.0.80

9 months ago

1.0.84

9 months ago

1.0.83

9 months ago

1.0.82

9 months ago

1.0.81

9 months ago

1.0.88

9 months ago

1.0.87

9 months ago

1.0.86

9 months ago

1.0.85

9 months ago

1.0.89

9 months ago

1.0.91

9 months ago

1.0.90

9 months ago

1.0.95

9 months ago

1.0.94

9 months ago

1.0.93

9 months ago

1.0.92

9 months ago

1.0.98

9 months ago

1.0.97

9 months ago

1.0.96

9 months ago

1.0.62

9 months ago

1.0.61

9 months ago

1.0.60

9 months ago

1.0.66

9 months ago

1.0.65

9 months ago

1.0.64

9 months ago

1.0.63

9 months ago

1.0.26

9 months ago

1.0.69

9 months ago

1.0.25

9 months ago

1.0.68

9 months ago

1.0.67

9 months ago

1.0.29

9 months ago

1.0.28

9 months ago

1.0.27

9 months ago

1.0.73

9 months ago

1.0.72

9 months ago

1.0.71

9 months ago

1.0.70

9 months ago

1.0.33

9 months ago

1.0.32

9 months ago

1.0.31

9 months ago

1.0.74

9 months ago

1.0.30

9 months ago

1.0.37

9 months ago

1.0.36

9 months ago

1.0.35

9 months ago

1.0.34

9 months ago

1.0.39

9 months ago

1.0.38

9 months ago

1.0.40

9 months ago

1.0.44

9 months ago

1.0.43

9 months ago

1.0.42

9 months ago

1.0.41

9 months ago

1.0.48

9 months ago

1.0.47

9 months ago

1.0.46

9 months ago

1.0.45

9 months ago

1.0.49

9 months ago

1.0.51

9 months ago

1.0.50

9 months ago

1.0.55

9 months ago

1.0.54

9 months ago

1.0.53

9 months ago

1.0.52

9 months ago

1.0.59

9 months ago

1.0.58

9 months ago

1.0.57

9 months ago

1.0.56

9 months ago

1.0.22

10 months ago

1.0.24

10 months ago

1.0.23

10 months ago

1.0.21

10 months ago

1.0.20

10 months ago

1.0.19

10 months ago

1.0.18

10 months ago

1.0.17

10 months ago

1.0.16

10 months ago

1.0.15

10 months ago

1.0.14

10 months ago

1.0.13

10 months ago

1.0.12

10 months ago

1.0.11

10 months ago

1.0.10

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago