Есть ли способ масштабирования эскиза p5js при сохранении его размера в пикселях? - PullRequest
0 голосов
/ 08 апреля 2019

Я работаю над проектом в p5.js, где мне нужно иметь возможность определять неясные размеры холста, которые намного больше, чем окно моего браузера.По сути, мне нужно поддерживать размер пикселя p5js (например, 3840px, 1920px), но иметь в виду весь холст.Подумайте о том, как вы можете увеличивать и уменьшать масштаб холста в фотошопе, вот та функциональность, которую я пытаюсь достичь.

На данный момент увеличение и уменьшение с помощью функции браузера по умолчанию хорошо, но не идеально и вызываетнекоторые другие ошибки при нажатии клавиш со стрелками и т. д. Я просмотрел все разделы обработки, форумы p5 и html canvas и не могу найти свой точный сценарий.

1 Ответ

0 голосов
/ 09 апреля 2019

Есть несколько способов подойти к этому. Без определенного порядка:

  • Отслеживайте множитель зума. Используйте этот множитель во всем коде чертежа, как для координат, так и для размеров. Измените этот множитель, когда пользователь прокручивает колесо мыши или предпринимает какие-либо другие действия.
  • Используйте функцию scale() для изменения масштаба всего холста.
  • Используйте функцию createGraphics() для создания буфера рисования. Этот буфер может быть настолько большим, насколько вы этого хотите. Нарисуйте свою сцену в большом буфере, а затем нарисуйте этот буфер на экранном холсте.

Постарайтесь, чтобы что-то простое работало, например, жестко закодированный круг и квадрат. Затем, если вы застряли, вы можете опубликовать MCVE с тем, что вы пробовали. Удачи.

...