openpencil/packages/docs/ru/programmable/sdk/api/composables/use-canvas.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 78 SDK pages per language (components, composables, advanced API,
  guides, architecture, getting-started)
- vector-edit.md user guide page (5 languages)
- Update stale ru/programmable/cli/inspecting.md
- Fix YAML frontmatter quoting for colons in descriptions

474 files, 0 missing pages across de/es/fr/it/pl/ru.
VitePress build verified — all 546 SDK pages render.
2026-04-22 18:35:22 +03:00

2.4 KiB
Raw Blame History

title description
useCanvas Подключение рендеринга на базе CanvasKit к элементу canvas для редактора OpenPencil.

useCanvas

useCanvas() подключает редактор к реальному элементу <canvas>.

Обрабатывает:

  • инициализацию CanvasKit
  • создание поверхности
  • планирование рендеринга
  • обработку изменения размера
  • опциональное отображение линеек
  • коллбэк готовности рендерера

Использование

import { ref } from 'vue'

import { useCanvas, useEditor } from '@open-pencil/vue'

const canvasRef = ref<HTMLCanvasElement | null>(null)
const editor = useEditor()

useCanvas(canvasRef, editor)

Базовый пример

<script setup lang="ts">
import { ref } from 'vue'

import { useCanvas, useEditor } from '@open-pencil/vue'

const canvasRef = ref<HTMLCanvasElement | null>(null)
const editor = useEditor()

useCanvas(canvasRef, editor, {
  showRulers: true,
  onReady: () => {
    console.log('Renderer ready')
  },
})
</script>

<template>
  <canvas ref="canvasRef" class="size-full" />
</template>

Практические примеры

Отключить линейки для встроенного превью

useCanvas(canvasRef, editor, {
  showRulers: false,
})

Сохранять буфер рисования для скриншотов

useCanvas(canvasRef, editor, {
  preserveDrawingBuffer: true,
})

Примечания

  • useCanvas() работает с рендерером и на практике используется только в браузере
  • отвечает за конвейер живого холста, а не за файловые потоки на уровне приложения
  • обычно следует использовать вместе с useCanvasInput() для обработки взаимодействий

Связанные API

Тип

interface UseCanvasOptions {
  showRulers?: boolean
  preserveDrawingBuffer?: boolean
  onReady?: () => void
}

function useCanvas(
  canvasRef: Ref<HTMLCanvasElement | null>,
  editor: Editor,
  options?: UseCanvasOptions,
): void